20 #ifndef GEOS_PHYSICSSOLVERS_MULTIPHYSICS_POROMECHANICSKERNELS_SINGLEPHASEPOROMECHANICSFRACTURES_HPP_
21 #define GEOS_PHYSICSSOLVERS_MULTIPHYSICS_POROMECHANICSKERNELS_SINGLEPHASEPOROMECHANICSFRACTURES_HPP_
27 namespace poromechanicsFracturesKernels
52 template<
typename POLICY,
typename POROUS_WRAPPER,
typename HYDRAULIC_APERTURE_WRAPPER >
55 POROUS_WRAPPER
const & porousMaterialWrapper,
56 HYDRAULIC_APERTURE_WRAPPER
const & contactWrapper,
72 aperture[k] = dispJump[k][0];
74 real64 dHydraulicAperture_dNormalJump = 0.0;
75 real64 dHydraulicAperture_dNormalTraction = 0.0;
76 hydraulicAperture[k] = contactWrapper.computeHydraulicAperture( aperture[k],
77 fractureTraction[k][0],
79 dHydraulicAperture_dNormalJump,
80 dHydraulicAperture_dNormalTraction );
82 deltaVolume[k] = hydraulicAperture[k] * area[k] - volume[k];
84 real64 const jump[3] = LVARRAY_TENSOROPS_INIT_LOCAL_3 ( dispJump[k] );
85 real64 const traction[3] = LVARRAY_TENSOROPS_INIT_LOCAL_3 ( fractureTraction[k] );
87 porousMaterialWrapper.updateStateFromPressureApertureJumpAndTraction( k, 0, pressure[k],
88 oldHydraulicAperture[k],
90 dHydraulicAperture_dNormalJump,
#define GEOS_HOST_DEVICE
Marks a host-device function.
ArrayView< T, 1 > arrayView1d
Alias for 1D array view.
double real64
64-bit floating point type.
GEOS_LOCALINDEX_TYPE localIndex
Local index type (for indexing objects within an MPI partition).
ArrayView< T, 2, USD > arrayView2d
Alias for 2D array view.
A struct to perform volume, aperture and fracture traction updates.
static void launch(localIndex const size, POROUS_WRAPPER const &porousMaterialWrapper, HYDRAULIC_APERTURE_WRAPPER const &contactWrapper, arrayView2d< real64 const > const &dispJump, arrayView1d< real64 const > const &pressure, arrayView1d< real64 const > const &area, arrayView1d< real64 const > const &volume, arrayView1d< real64 > const &deltaVolume, arrayView1d< real64 > const &aperture, arrayView1d< real64 const > const &oldHydraulicAperture, arrayView1d< real64 > const &hydraulicAperture, arrayView2d< real64 const > const &fractureTraction, arrayView1d< integer > const &fractureState)
Launch the kernel function doing volume, aperture and fracture traction updates.