diff --git a/src/coreComponents/constitutive/contact/CoulombFriction.hpp b/src/coreComponents/constitutive/contact/CoulombFriction.hpp index 9041ac93ec0..32b975acc97 100644 --- a/src/coreComponents/constitutive/contact/CoulombFriction.hpp +++ b/src/coreComponents/constitutive/contact/CoulombFriction.hpp @@ -21,6 +21,8 @@ #define GEOS_CONSTITUTIVE_CONTACT_COULOMBFRICTION_HPP_ #include "FrictionBase.hpp" +#include "physicsSolvers/solidMechanics/contact/FractureState.hpp" +#include "LvArray/src/tensorOps.hpp" namespace geos { @@ -241,13 +243,15 @@ inline void CoulombFrictionUpdates::computeShearTraction( localIndex const k, arraySlice1d< real64 > const & tractionVector, arraySlice2d< real64 > const & dTractionVector_dJump ) const { + using namespace fields::contact; + // Compute the slip real64 const slip[2] = { dispJump[1] - oldDispJump[1], dispJump[2] - oldDispJump[2] }; switch( fractureState ) { - case fields::contact::FractureState::Stick: + case FractureState::Stick: { // Elastic tangential deformation @@ -263,7 +267,7 @@ inline void CoulombFrictionUpdates::computeShearTraction( localIndex const k, break; } - case fields::contact::FractureState::Slip: + case FractureState::Slip: { // Plastic tangential deformation @@ -553,7 +557,6 @@ inline void CoulombFrictionUpdates::constraintCheck( arraySlice1d< real64 const real64 const slidingCheckTolerance, integer & condConv ) const { - using namespace fields::contact; // Compute the slip diff --git a/src/coreComponents/constitutive/contact/FrictionBase.hpp b/src/coreComponents/constitutive/contact/FrictionBase.hpp index b7583429e9b..d8e47754cfa 100644 --- a/src/coreComponents/constitutive/contact/FrictionBase.hpp +++ b/src/coreComponents/constitutive/contact/FrictionBase.hpp @@ -21,8 +21,6 @@ #define GEOS_CONSTITUTIVE_CONTACT_FRICTIONBASE_HPP_ #include "constitutive/ConstitutiveBase.hpp" -#include "functions/TableFunction.hpp" -#include "physicsSolvers/contact/ContactFields.hpp" namespace geos diff --git a/src/coreComponents/constitutive/contact/FrictionlessContact.hpp b/src/coreComponents/constitutive/contact/FrictionlessContact.hpp index 1b17e07dfd7..06a8f9c3429 100644 --- a/src/coreComponents/constitutive/contact/FrictionlessContact.hpp +++ b/src/coreComponents/constitutive/contact/FrictionlessContact.hpp @@ -21,6 +21,7 @@ #define GEOS_CONSTITUTIVE_CONTACT_FRICTIONLESSCONTACT_HPP_ #include "constitutive/contact/FrictionBase.hpp" +#include "physicsSolvers/solidMechanics/contact/FractureState.hpp" namespace geos { diff --git a/src/coreComponents/constitutive/contact/HydraulicApertureBase.hpp b/src/coreComponents/constitutive/contact/HydraulicApertureBase.hpp index 701a20213fc..377e6894810 100644 --- a/src/coreComponents/constitutive/contact/HydraulicApertureBase.hpp +++ b/src/coreComponents/constitutive/contact/HydraulicApertureBase.hpp @@ -21,8 +21,6 @@ #define GEOS_CONSTITUTIVE_CONTACT_HYDRAULICAPERTUREBASE_HPP_ #include "constitutive/ConstitutiveBase.hpp" -#include "functions/TableFunction.hpp" -#include "physicsSolvers/contact/ContactFields.hpp" namespace geos diff --git a/src/coreComponents/constitutive/contact/RateAndStateFriction.hpp b/src/coreComponents/constitutive/contact/RateAndStateFriction.hpp index e05a4089838..fbc919e3261 100644 --- a/src/coreComponents/constitutive/contact/RateAndStateFriction.hpp +++ b/src/coreComponents/constitutive/contact/RateAndStateFriction.hpp @@ -21,6 +21,7 @@ #define GEOS_CONSTITUTIVE_CONTACT_RATEANDSTATEFRICTION_HPP_ #include "FrictionBase.hpp" +#include "physicsSolvers/solidMechanics/contact/FractureState.hpp" namespace geos { diff --git a/src/coreComponents/physicsSolvers/CMakeLists.txt b/src/coreComponents/physicsSolvers/CMakeLists.txt index 37c1da41495..86d6ce3fef5 100644 --- a/src/coreComponents/physicsSolvers/CMakeLists.txt +++ b/src/coreComponents/physicsSolvers/CMakeLists.txt @@ -43,10 +43,6 @@ set( physicsSolvers_sources PhysicsSolverBase.cpp SolverStatistics.cpp ) -if( GEOS_ENABLE_CONTACT ) - add_subdirectory( contact ) -endif() - if( GEOS_ENABLE_FLUIDFLOW ) add_subdirectory( fluidFlow ) endif() diff --git a/src/coreComponents/physicsSolvers/inducedSeismicity/ExplicitQDRateAndState.cpp b/src/coreComponents/physicsSolvers/inducedSeismicity/ExplicitQDRateAndState.cpp index d6fc3c74871..3c21d1b6ec8 100644 --- a/src/coreComponents/physicsSolvers/inducedSeismicity/ExplicitQDRateAndState.cpp +++ b/src/coreComponents/physicsSolvers/inducedSeismicity/ExplicitQDRateAndState.cpp @@ -23,7 +23,7 @@ #include "mesh/DomainPartition.hpp" #include "kernels/ExplicitRateAndStateKernels.hpp" #include "rateAndStateFields.hpp" -#include "physicsSolvers/contact/ContactFields.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactFields.hpp" #include "fieldSpecification/FieldSpecificationManager.hpp" namespace geos diff --git a/src/coreComponents/physicsSolvers/inducedSeismicity/ImplicitQDRateAndState.cpp b/src/coreComponents/physicsSolvers/inducedSeismicity/ImplicitQDRateAndState.cpp index 733fbe4ab7a..3d8ae4ec756 100644 --- a/src/coreComponents/physicsSolvers/inducedSeismicity/ImplicitQDRateAndState.cpp +++ b/src/coreComponents/physicsSolvers/inducedSeismicity/ImplicitQDRateAndState.cpp @@ -23,7 +23,7 @@ #include "mesh/DomainPartition.hpp" #include "kernels/ImplicitRateAndStateKernels.hpp" #include "rateAndStateFields.hpp" -#include "physicsSolvers/contact/ContactFields.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactFields.hpp" namespace geos diff --git a/src/coreComponents/physicsSolvers/inducedSeismicity/QDRateAndStateBase.cpp b/src/coreComponents/physicsSolvers/inducedSeismicity/QDRateAndStateBase.cpp index a515685cab9..42f8cfc38f2 100644 --- a/src/coreComponents/physicsSolvers/inducedSeismicity/QDRateAndStateBase.cpp +++ b/src/coreComponents/physicsSolvers/inducedSeismicity/QDRateAndStateBase.cpp @@ -22,7 +22,7 @@ #include "dataRepository/InputFlags.hpp" #include "mesh/DomainPartition.hpp" #include "rateAndStateFields.hpp" -#include "physicsSolvers/contact/ContactFields.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactFields.hpp" #include "fieldSpecification/FieldSpecificationManager.hpp" #include "constitutive/contact/RateAndStateFriction.hpp" #include "kernels/RateAndStateKernelsBase.hpp" diff --git a/src/coreComponents/physicsSolvers/inducedSeismicity/QuasiDynamicEarthQuake.cpp b/src/coreComponents/physicsSolvers/inducedSeismicity/QuasiDynamicEarthQuake.cpp index 7c45b81a7a1..8211012b626 100644 --- a/src/coreComponents/physicsSolvers/inducedSeismicity/QuasiDynamicEarthQuake.cpp +++ b/src/coreComponents/physicsSolvers/inducedSeismicity/QuasiDynamicEarthQuake.cpp @@ -22,7 +22,7 @@ #include "dataRepository/InputFlags.hpp" #include "mesh/DomainPartition.hpp" #include "rateAndStateFields.hpp" -#include "physicsSolvers/contact/ContactFields.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactFields.hpp" #include "fieldSpecification/FieldSpecificationManager.hpp" #include "physicsSolvers/fluidFlow/FlowSolverBaseFields.hpp" diff --git a/src/coreComponents/physicsSolvers/inducedSeismicity/SpringSlider.cpp b/src/coreComponents/physicsSolvers/inducedSeismicity/SpringSlider.cpp index 0c427304f9d..f96f3365451 100644 --- a/src/coreComponents/physicsSolvers/inducedSeismicity/SpringSlider.cpp +++ b/src/coreComponents/physicsSolvers/inducedSeismicity/SpringSlider.cpp @@ -22,7 +22,7 @@ #include "dataRepository/InputFlags.hpp" #include "mesh/DomainPartition.hpp" #include "rateAndStateFields.hpp" -#include "physicsSolvers/contact/ContactFields.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactFields.hpp" #include "fieldSpecification/FieldSpecificationManager.hpp" #include "constitutive/contact/RateAndStateFriction.hpp" #include "ExplicitQDRateAndState.hpp" @@ -87,7 +87,7 @@ void SpringSlider< RSSOLVER_TYPE >::registerDataOnMesh( Group & meshBodies ) setSizedFromParent( 0 ); string & frictionLawName = subRegion.getReference< string >( viewKeyStruct::frictionLawNameString() ); - frictionLawName =PhysicsSolverBase::getConstitutiveName< FrictionBase >( subRegion ); + frictionLawName = PhysicsSolverBase::getConstitutiveName< FrictionBase >( subRegion ); GEOS_ERROR_IF( frictionLawName.empty(), GEOS_FMT( "{}: FrictionBase model not found on subregion {}", this->getDataContext(), subRegion.getDataContext() ) ); } ); @@ -113,11 +113,11 @@ real64 SpringSlider< RSSOLVER_TYPE >::updateStresses( real64 const & time_n, SurfaceElementSubRegion & subRegion ) { - arrayView2d< real64 const > const deltaSlip = subRegion.getField< fields::contact::deltaSlip >(); - arrayView2d< real64 > const shearTraction = subRegion.getField< fields::rateAndState::shearTraction >(); - arrayView2d< real64 > const shearTraction_n = subRegion.getField< fields::rateAndState::shearTraction_n >(); + arrayView2d< real64 const > const deltaSlip = subRegion.getField< contact::deltaSlip >(); + arrayView2d< real64 > const shearTraction = subRegion.getField< rateAndState::shearTraction >(); + arrayView2d< real64 > const shearTraction_n = subRegion.getField< rateAndState::shearTraction_n >(); - arrayView1d< real64 > const normalTraction = subRegion.getField< fields::rateAndState::normalTraction >(); + arrayView1d< real64 > const normalTraction = subRegion.getField< rateAndState::normalTraction >(); string const & fricitonLawName = subRegion.template getReference< string >( viewKeyStruct::frictionLawNameString() ); diff --git a/src/coreComponents/physicsSolvers/inducedSeismicity/kernels/ExplicitRateAndStateKernels.hpp b/src/coreComponents/physicsSolvers/inducedSeismicity/kernels/ExplicitRateAndStateKernels.hpp index baf0ee6b06b..0a13c617c04 100644 --- a/src/coreComponents/physicsSolvers/inducedSeismicity/kernels/ExplicitRateAndStateKernels.hpp +++ b/src/coreComponents/physicsSolvers/inducedSeismicity/kernels/ExplicitRateAndStateKernels.hpp @@ -18,6 +18,7 @@ #include "RateAndStateKernelsBase.hpp" #include "denseLinearAlgebra/denseLASolvers.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactFields.hpp" namespace geos { diff --git a/src/coreComponents/physicsSolvers/multiphysics/MultiphasePoromechanics.cpp b/src/coreComponents/physicsSolvers/multiphysics/MultiphasePoromechanics.cpp index 0d11624cfc1..9d5ab47cd8e 100644 --- a/src/coreComponents/physicsSolvers/multiphysics/MultiphasePoromechanics.cpp +++ b/src/coreComponents/physicsSolvers/multiphysics/MultiphasePoromechanics.cpp @@ -32,8 +32,8 @@ #include "physicsSolvers/solidMechanics/SolidMechanicsFields.hpp" #include "physicsSolvers/solidMechanics/SolidMechanicsLagrangianFEM.hpp" #include "physicsSolvers/solidMechanics/kernels/ImplicitSmallStrainQuasiStatic.hpp" -#include "physicsSolvers/contact/SolidMechanicsLagrangeContact.hpp" -//#include "physicsSolvers/contact/SolidMechanicsEmbeddedFractures.hpp" +#include "physicsSolvers/solidMechanics/contact/SolidMechanicsLagrangeContact.hpp" +//#include "physicsSolvers/solidMechanics/contact/SolidMechanicsEmbeddedFractures.hpp" namespace geos { diff --git a/src/coreComponents/physicsSolvers/multiphysics/MultiphasePoromechanicsConformingFractures.cpp b/src/coreComponents/physicsSolvers/multiphysics/MultiphasePoromechanicsConformingFractures.cpp index 8ef737ad998..5036b3bdb40 100644 --- a/src/coreComponents/physicsSolvers/multiphysics/MultiphasePoromechanicsConformingFractures.cpp +++ b/src/coreComponents/physicsSolvers/multiphysics/MultiphasePoromechanicsConformingFractures.cpp @@ -25,6 +25,7 @@ #include "physicsSolvers/multiphysics/poromechanicsKernels/SinglePhasePoromechanicsFractures.hpp" #include "finiteVolume/FluxApproximationBase.hpp" #include "constitutive/fluid/multifluid/MultiFluidBase.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactFields.hpp" namespace geos { @@ -67,7 +68,7 @@ void MultiphasePoromechanicsConformingFractures< FLOW_SOLVER >::setupCoupling( D // 2. Traction - pressure coupling in the fracture dofManager.addCoupling( m_flowDofKey, - fields::contact::traction::key(), + contact::traction::key(), DofManager::Connector::Elem ); } @@ -605,7 +606,7 @@ assembleFluidMassResidualDerivativeWrtDisplacement( MeshLevel const & mesh, arrayView2d< localIndex const > const & elemsToFaces = subRegion.faceList().toViewConst(); arrayView1d< real64 const > const & area = subRegion.getElementArea().toViewConst(); - arrayView1d< integer const > const & fractureState = subRegion.getField< fields::contact::fractureState >(); + arrayView1d< integer const > const & fractureState = subRegion.getField< contact::fractureState >(); forAll< serialPolicy >( subRegion.size(), [&]( localIndex const kfe ) { @@ -621,7 +622,7 @@ assembleFluidMassResidualDerivativeWrtDisplacement( MeshLevel const & mesh, stackArray2d< real64, 2*3*m_maxFaceNodes * MultiFluidBase::MAX_NUM_COMPONENTS > dRdU( MultiFluidBase::MAX_NUM_COMPONENTS, 2*3*m_maxFaceNodes ); - bool const isFractureOpen = ( fractureState[kfe] == fields::contact::FractureState::Open ); + bool const isFractureOpen = ( fractureState[kfe] == contact::FractureState::Open ); // Accumulation derivative if( isFractureOpen ) @@ -690,7 +691,7 @@ assembleFluidMassResidualDerivativeWrtDisplacement( MeshLevel const & mesh, real64 const dR_dAper = values[kfe1]; localIndex const kfe2 = columns[kfe1]; - bool const isOpen = ( fractureState[kfe2] == fields::contact::FractureState::Open ); + bool const isOpen = ( fractureState[kfe2] == contact::FractureState::Open ); skipAssembly &= !isOpen; for( localIndex kf = 0; kf < 2; ++kf ) @@ -775,9 +776,9 @@ void MultiphasePoromechanicsConformingFractures< FLOW_SOLVER >::updateHydraulicA arrayView2d< real64 const > const dispJump = subRegion.getField< contact::dispJump >(); arrayView1d< real64 const > const area = subRegion.getElementArea(); arrayView1d< real64 const > const volume = subRegion.getElementVolume(); - arrayView2d< real64 const > const fractureTraction = subRegion.getField< fields::contact::traction >(); - arrayView1d< real64 const > const pressure = subRegion.getField< fields::flow::pressure >(); - arrayView1d< real64 const > const oldHydraulicAperture = subRegion.getField< fields::flow::aperture0 >(); + arrayView2d< real64 const > const fractureTraction = subRegion.getField< contact::traction >(); + arrayView1d< real64 const > const pressure = subRegion.getField< flow::pressure >(); + arrayView1d< real64 const > const oldHydraulicAperture = subRegion.getField< flow::aperture0 >(); arrayView1d< real64 > const aperture = subRegion.getElementAperture(); arrayView1d< real64 > const hydraulicAperture = subRegion.getField< flow::hydraulicAperture >(); diff --git a/src/coreComponents/physicsSolvers/multiphysics/MultiphasePoromechanicsConformingFractures.hpp b/src/coreComponents/physicsSolvers/multiphysics/MultiphasePoromechanicsConformingFractures.hpp index cd8d7c0073b..367d309434c 100644 --- a/src/coreComponents/physicsSolvers/multiphysics/MultiphasePoromechanicsConformingFractures.hpp +++ b/src/coreComponents/physicsSolvers/multiphysics/MultiphasePoromechanicsConformingFractures.hpp @@ -20,7 +20,7 @@ #define GEOS_PHYSICSSOLVERS_MULTIPHYSICS_MULTIPHASEPOROMECHANICSCONFORMINGFRACTURES_HPP_ #include "physicsSolvers/multiphysics/MultiphasePoromechanics.hpp" -#include "physicsSolvers/contact/SolidMechanicsLagrangeContact.hpp" +#include "physicsSolvers/solidMechanics/contact/SolidMechanicsLagrangeContact.hpp" namespace geos { diff --git a/src/coreComponents/physicsSolvers/multiphysics/OneWayCoupledFractureFlowContactMechanics.cpp b/src/coreComponents/physicsSolvers/multiphysics/OneWayCoupledFractureFlowContactMechanics.cpp index 6f5c291f1ce..73075a7736d 100644 --- a/src/coreComponents/physicsSolvers/multiphysics/OneWayCoupledFractureFlowContactMechanics.cpp +++ b/src/coreComponents/physicsSolvers/multiphysics/OneWayCoupledFractureFlowContactMechanics.cpp @@ -18,7 +18,7 @@ */ #include "OneWayCoupledFractureFlowContactMechanics.hpp" -#include "physicsSolvers/contact/ContactFields.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactFields.hpp" #include "physicsSolvers/fluidFlow/FlowSolverBaseFields.hpp" #include "mesh/DomainPartition.hpp" diff --git a/src/coreComponents/physicsSolvers/multiphysics/OneWayCoupledFractureFlowContactMechanics.hpp b/src/coreComponents/physicsSolvers/multiphysics/OneWayCoupledFractureFlowContactMechanics.hpp index 03b6b1a6f4b..50cf68c5a10 100644 --- a/src/coreComponents/physicsSolvers/multiphysics/OneWayCoupledFractureFlowContactMechanics.hpp +++ b/src/coreComponents/physicsSolvers/multiphysics/OneWayCoupledFractureFlowContactMechanics.hpp @@ -21,8 +21,8 @@ #define GEOS_PHYSICSSOLVERS_MULTIPHYSICS_ONEWAYCOUPLEDFRACTUREFLOWCONTACTMECHANICS_HPP_ #include "physicsSolvers/multiphysics/CoupledSolver.hpp" -#include "physicsSolvers/contact/SolidMechanicsLagrangeContactBubbleStab.hpp" #include "physicsSolvers/fluidFlow/SinglePhaseBase.hpp" +#include "physicsSolvers/solidMechanics/contact/SolidMechanicsLagrangeContactBubbleStab.hpp" #include "dataRepository/Group.hpp" namespace geos diff --git a/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanics.cpp b/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanics.cpp index 0bfa9146a27..71ee23e8275 100644 --- a/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanics.cpp +++ b/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanics.cpp @@ -30,8 +30,8 @@ #include "physicsSolvers/solidMechanics/SolidMechanicsFields.hpp" #include "physicsSolvers/solidMechanics/SolidMechanicsLagrangianFEM.hpp" #include "physicsSolvers/solidMechanics/kernels/ImplicitSmallStrainQuasiStatic.hpp" -#include "physicsSolvers/contact/SolidMechanicsLagrangeContact.hpp" -#include "physicsSolvers/contact/SolidMechanicsEmbeddedFractures.hpp" +#include "physicsSolvers/solidMechanics/contact/SolidMechanicsLagrangeContact.hpp" +#include "physicsSolvers/solidMechanics/contact/SolidMechanicsEmbeddedFractures.hpp" #include "physicsSolvers/fluidFlow/SinglePhaseHybridFVM.hpp" namespace geos diff --git a/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanicsConformingFractures.cpp b/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanicsConformingFractures.cpp index 51fef65a2de..f08022d623d 100644 --- a/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanicsConformingFractures.cpp +++ b/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanicsConformingFractures.cpp @@ -31,6 +31,7 @@ #include "physicsSolvers/multiphysics/poromechanicsKernels/SinglePhasePoromechanicsFractures.hpp" #include "physicsSolvers/solidMechanics/SolidMechanicsFields.hpp" #include "physicsSolvers/solidMechanics/SolidMechanicsLagrangianFEM.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactFields.hpp" #include "finiteVolume/FluxApproximationBase.hpp" namespace geos @@ -72,7 +73,7 @@ void SinglePhasePoromechanicsConformingFractures< FLOW_SOLVER >::setupCoupling( // 2. Traction - pressure coupling in the fracture dofManager.addCoupling( SinglePhaseBase::viewKeyStruct::elemDofFieldString(), - fields::contact::traction::key(), + contact::traction::key(), DofManager::Connector::Elem ); } @@ -602,7 +603,7 @@ assembleFluidMassResidualDerivativeWrtDisplacement( MeshLevel const & mesh, arrayView2d< localIndex const > const & elemsToFaces = subRegion.faceList().toViewConst(); arrayView1d< real64 const > const & area = subRegion.getElementArea().toViewConst(); - arrayView1d< integer const > const & fractureState = subRegion.getField< fields::contact::fractureState >(); + arrayView1d< integer const > const & fractureState = subRegion.getField< contact::fractureState >(); forAll< serialPolicy >( subRegion.size(), [&]( localIndex const kfe ) { @@ -620,7 +621,7 @@ assembleFluidMassResidualDerivativeWrtDisplacement( MeshLevel const & mesh, stackArray1d< real64, 2*3*m_maxFaceNodes > dRdU( 2*3*m_maxFaceNodes ); - bool const isFractureOpen = ( fractureState[kfe] == fields::contact::FractureState::Open ); + bool const isFractureOpen = ( fractureState[kfe] == contact::FractureState::Open ); // Accumulation derivative if( isFractureOpen ) @@ -681,7 +682,7 @@ assembleFluidMassResidualDerivativeWrtDisplacement( MeshLevel const & mesh, real64 const dR_dAper = values[kfe1]; localIndex const kfe2 = columns[kfe1]; - bool const isOpen = ( fractureState[kfe2] == fields::contact::FractureState::Open ); + bool const isOpen = ( fractureState[kfe2] == contact::FractureState::Open ); skipAssembly &= !isOpen; for( localIndex kf=0; kf<2; ++kf ) @@ -762,9 +763,9 @@ void SinglePhasePoromechanicsConformingFractures< FLOW_SOLVER >::updateHydraulic arrayView2d< real64 const > const dispJump = subRegion.getField< contact::dispJump >(); arrayView1d< real64 const > const area = subRegion.getElementArea(); arrayView1d< real64 const > const volume = subRegion.getElementVolume(); - arrayView2d< real64 const > const fractureTraction = subRegion.getField< fields::contact::traction >(); - arrayView1d< real64 const > const pressure = subRegion.getField< fields::flow::pressure >(); - arrayView1d< real64 const > const oldHydraulicAperture = subRegion.getField< fields::flow::aperture0 >(); + arrayView2d< real64 const > const fractureTraction = subRegion.getField< contact::traction >(); + arrayView1d< real64 const > const pressure = subRegion.getField< flow::pressure >(); + arrayView1d< real64 const > const oldHydraulicAperture = subRegion.getField< flow::aperture0 >(); arrayView1d< real64 > const aperture = subRegion.getElementAperture(); arrayView1d< real64 > const hydraulicAperture = subRegion.getField< flow::hydraulicAperture >(); diff --git a/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanicsConformingFractures.hpp b/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanicsConformingFractures.hpp index 1965dc5a457..747163feaf5 100644 --- a/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanicsConformingFractures.hpp +++ b/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanicsConformingFractures.hpp @@ -21,7 +21,7 @@ #define GEOS_PHYSICSSOLVERS_MULTIPHYSICS_SINGLEPHASEPOROMECHANICSCONFORMINGFRACTURES_HPP_ #include "physicsSolvers/multiphysics/SinglePhasePoromechanics.hpp" -#include "physicsSolvers/contact/SolidMechanicsLagrangeContact.hpp" +#include "physicsSolvers/solidMechanics/contact/SolidMechanicsLagrangeContact.hpp" namespace geos { diff --git a/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanicsEmbeddedFractures.cpp b/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanicsEmbeddedFractures.cpp index f25329cfe14..d0bb8efb6aa 100644 --- a/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanicsEmbeddedFractures.cpp +++ b/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanicsEmbeddedFractures.cpp @@ -20,7 +20,7 @@ #include "SinglePhasePoromechanicsEmbeddedFractures.hpp" #include "constitutive/contact/HydraulicApertureRelationSelector.hpp" #include "constitutive/fluid/singlefluid/SingleFluidBase.hpp" -#include "physicsSolvers/contact/kernels/SolidMechanicsEFEMKernelsHelper.hpp" +#include "physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsEFEMKernelsHelper.hpp" #include "physicsSolvers/fluidFlow/SinglePhaseBase.hpp" #include "physicsSolvers/multiphysics/poromechanicsKernels/SinglePhasePoromechanicsEFEM.hpp" #include "physicsSolvers/multiphysics/poromechanicsKernels/SinglePhasePoromechanics.hpp" @@ -83,7 +83,7 @@ void SinglePhasePoromechanicsEmbeddedFractures::registerDataOnMesh( dataReposito elemManager.forElementSubRegions< EmbeddedSurfaceSubRegion >( regionNames, [&] ( localIndex const, EmbeddedSurfaceSubRegion & subRegion ) { - subRegion.registerField< fields::contact::dTraction_dPressure >( getName() ); + subRegion.registerField< contact::dTraction_dPressure >( getName() ); } ); } ); } @@ -117,7 +117,7 @@ void SinglePhasePoromechanicsEmbeddedFractures::setupCoupling( DomainPartition c } ); dofManager.addCoupling( SinglePhaseBase::viewKeyStruct::elemDofFieldString(), - fields::contact::dispJump::key(), + contact::dispJump::key(), DofManager::Connector::Elem, meshTargets ); } @@ -193,7 +193,7 @@ void SinglePhasePoromechanicsEmbeddedFractures::addCouplingNumNonzeros( DomainPa { ElementRegionManager const & elemManager = mesh.getElemManager(); - string const jumpDofKey = dofManager.getKey( fields::contact::dispJump::key() ); + string const jumpDofKey = dofManager.getKey( contact::dispJump::key() ); string const flowDofKey = dofManager.getKey( SinglePhaseBase::viewKeyStruct::elemDofFieldString() ); globalIndex const rankOffset = dofManager.rankOffset(); @@ -301,7 +301,7 @@ void SinglePhasePoromechanicsEmbeddedFractures::addCouplingSparsityPattern( Doma { ElementRegionManager const & elemManager = mesh.getElemManager(); - string const jumpDofKey = dofManager.getKey( fields::contact::dispJump::key() ); + string const jumpDofKey = dofManager.getKey( contact::dispJump::key() ); string const pressureDofKey = dofManager.getKey( SinglePhaseBase::viewKeyStruct::elemDofFieldString() ); globalIndex const rankOffset = dofManager.rankOffset(); @@ -440,7 +440,7 @@ void SinglePhasePoromechanicsEmbeddedFractures::assembleSystem( real64 const tim } // 3. Assemble poroelastic fluxes and all derivatives - string const jumpDofKey = dofManager.getKey( fields::contact::dispJump::key() ); + string const jumpDofKey = dofManager.getKey( contact::dispJump::key() ); flowSolver()->assembleEDFMFluxTerms( time_n, dt, domain, dofManager, @@ -475,27 +475,27 @@ void SinglePhasePoromechanicsEmbeddedFractures::updateState( DomainPartition & d auto & subRegion ) { arrayView2d< real64 const > const dispJump = - subRegion.template getField< fields::contact::dispJump >(); + subRegion.template getField< contact::dispJump >(); arrayView1d< real64 > const aperture = subRegion.getElementAperture(); arrayView1d< real64 > const hydraulicAperture = - subRegion.template getField< fields::flow::hydraulicAperture >(); + subRegion.template getField< flow::hydraulicAperture >(); arrayView1d< real64 const > const oldHydraulicAperture = - subRegion.template getField< fields::flow::aperture0 >(); + subRegion.template getField< flow::aperture0 >(); arrayView1d< real64 const > const volume = subRegion.getElementVolume(); arrayView1d< real64 > const deltaVolume = - subRegion.template getField< fields::flow::deltaVolume >(); + subRegion.template getField< flow::deltaVolume >(); arrayView1d< real64 const > const area = subRegion.getElementArea().toViewConst(); - arrayView2d< real64 > const & fractureContactTraction = subRegion.template getField< fields::contact::traction >(); + arrayView2d< real64 > const & fractureContactTraction = subRegion.template getField< contact::traction >(); arrayView1d< real64 const > const & pressure = - subRegion.template getField< fields::flow::pressure >(); + subRegion.template getField< flow::pressure >(); string const & hydraulicApertureRelationName = subRegion.template getReference< string >( viewKeyStruct::hydraulicApertureRelationNameString() ); HydraulicApertureBase const & hydraulicApertureModel = this->template getConstitutiveModel< HydraulicApertureBase >( subRegion, hydraulicApertureRelationName ); diff --git a/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanicsEmbeddedFractures.hpp b/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanicsEmbeddedFractures.hpp index f90d4ffe0be..6fef200f8b4 100644 --- a/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanicsEmbeddedFractures.hpp +++ b/src/coreComponents/physicsSolvers/multiphysics/SinglePhasePoromechanicsEmbeddedFractures.hpp @@ -21,7 +21,7 @@ #define GEOS_PHYSICSSOLVERS_MULTIPHYSICS_SINGLEPHASEPOROMECHANICSEMBEDDEDFRACTURES_HPP_ #include "physicsSolvers/multiphysics/SinglePhasePoromechanics.hpp" -#include "physicsSolvers/contact/SolidMechanicsEmbeddedFractures.hpp" +#include "physicsSolvers/solidMechanics/contact/SolidMechanicsEmbeddedFractures.hpp" #include "physicsSolvers/fluidFlow/SinglePhaseBase.hpp" namespace geos diff --git a/src/coreComponents/physicsSolvers/multiphysics/poromechanicsKernels/SinglePhasePoromechanicsEFEM_impl.hpp b/src/coreComponents/physicsSolvers/multiphysics/poromechanicsKernels/SinglePhasePoromechanicsEFEM_impl.hpp index efc8ae09ea8..9eef93336dc 100644 --- a/src/coreComponents/physicsSolvers/multiphysics/poromechanicsKernels/SinglePhasePoromechanicsEFEM_impl.hpp +++ b/src/coreComponents/physicsSolvers/multiphysics/poromechanicsKernels/SinglePhasePoromechanicsEFEM_impl.hpp @@ -20,13 +20,13 @@ #ifndef GEOS_PHYSICSSOLVERS_MULTIPHYSICS_POROMECHANICSKERNELS_SINGLEPHASEPOROMECHANICSEFEM_IMPL_HPP_ #define GEOS_PHYSICSSOLVERS_MULTIPHYSICS_POROMECHANICSKERNELS_SINGLEPHASEPOROMECHANICSEFEM_IMPL_HPP_ -#include "physicsSolvers/contact/ContactFields.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactFields.hpp" #include "constitutive/fluid/singlefluid/SingleFluidBase.hpp" #include "physicsSolvers/fluidFlow/FlowSolverBaseFields.hpp" #include "physicsSolvers/fluidFlow/SinglePhaseBaseFields.hpp" #include "physicsSolvers/multiphysics/poromechanicsKernels/SinglePhasePoromechanics.hpp" #include "physicsSolvers/multiphysics/poromechanicsKernels/SinglePhasePoromechanicsEFEM.hpp" -#include "physicsSolvers/contact/kernels/SolidMechanicsEFEMKernelsHelper.hpp" +#include "physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsEFEMKernelsHelper.hpp" namespace geos { diff --git a/src/coreComponents/physicsSolvers/solidMechanics/CMakeLists.txt b/src/coreComponents/physicsSolvers/solidMechanics/CMakeLists.txt index 2b0cfeb2233..5e4ba8ecabd 100644 --- a/src/coreComponents/physicsSolvers/solidMechanics/CMakeLists.txt +++ b/src/coreComponents/physicsSolvers/solidMechanics/CMakeLists.txt @@ -22,6 +22,25 @@ set( physicsSolvers_headers solidMechanics/kernels/ImplicitSmallStrainQuasiStatic_impl.hpp solidMechanics/SolidMechanicsStateReset.hpp solidMechanics/SolidMechanicsStatistics.hpp + solidMechanics/contact/ContactSolverBase.hpp + solidMechanics/contact/FractureState.hpp + solidMechanics/contact/ContactFields.hpp + solidMechanics/contact/SolidMechanicsEmbeddedFractures.hpp + solidMechanics/contact/SolidMechanicsLagrangeContact.hpp + solidMechanics/contact/SolidMechanicsLagrangeContactBubbleStab.hpp + solidMechanics/contact/SolidMechanicsAugmentedLagrangianContact.hpp + solidMechanics/contact/kernels/SolidMechanicsConformingContactKernelsBase.hpp + solidMechanics/contact/kernels/SolidMechanicsDisplacementJumpUpdateKernels.hpp + solidMechanics/contact/kernels/SolidMechanicsEFEMKernelsBase.hpp + solidMechanics/contact/kernels/SolidMechanicsEFEMKernels.hpp + solidMechanics/contact/kernels/SolidMechanicsEFEMStaticCondensationKernels.hpp + solidMechanics/contact/kernels/SolidMechanicsEFEMKernelsHelper.hpp + solidMechanics/contact/kernels/SolidMechanicsALMKernelsBase.hpp + solidMechanics/contact/kernels/SolidMechanicsALMKernels.hpp + solidMechanics/contact/kernels/SolidMechanicsConformingContactKernelsHelper.hpp + solidMechanics/contact/kernels/SolidMechanicsContactFaceBubbleKernels.hpp + solidMechanics/contact/kernels/SolidMechanicsLagrangeContactKernels.hpp + solidMechanics/contact/LogLevelsInfo.hpp PARENT_SCOPE ) # Specify solver sources @@ -32,6 +51,11 @@ set( physicsSolvers_sources solidMechanics/SolidMechanicsMPM.cpp solidMechanics/SolidMechanicsStateReset.cpp solidMechanics/SolidMechanicsStatistics.cpp + solidMechanics/contact/ContactSolverBase.cpp + solidMechanics/contact/SolidMechanicsEmbeddedFractures.cpp + solidMechanics/contact/SolidMechanicsLagrangeContact.cpp + solidMechanics/contact/SolidMechanicsLagrangeContactBubbleStab.cpp + solidMechanics/contact/SolidMechanicsAugmentedLagrangianContact.cpp PARENT_SCOPE ) #include( solidMechanics/kernels/SolidMechanicsKernels.cmake) diff --git a/src/coreComponents/physicsSolvers/solidMechanics/SolidMechanicsFields.hpp b/src/coreComponents/physicsSolvers/solidMechanics/SolidMechanicsFields.hpp index 8ffee2ab6f3..da7b0d4140e 100644 --- a/src/coreComponents/physicsSolvers/solidMechanics/SolidMechanicsFields.hpp +++ b/src/coreComponents/physicsSolvers/solidMechanics/SolidMechanicsFields.hpp @@ -63,14 +63,6 @@ DECLARE_FIELD( totalDisplacement, WRITE_AND_READ, "Total displacements at the nodes" ); -DECLARE_FIELD( totalBubbleDisplacement, - "totalBubbleDisplacement", - array2d< real64 >, - 0, - LEVEL_0, - WRITE_AND_READ, - "Total bubble displacements at the faces" ); - DECLARE_FIELD( incrementalDisplacement, "incrementalDisplacement", array2dLayoutIncrDisplacement, @@ -95,14 +87,6 @@ DECLARE_FIELD( plasticStrain, WRITE_AND_READ, "Average plastic strain in cell" ); -DECLARE_FIELD( incrementalBubbleDisplacement, - "incrementalBubbleDisplacement", - array2d< real64 >, - 0, - LEVEL_3, - WRITE_AND_READ, - "Incremental bubble displacements for the current time step on the nodes" ); - DECLARE_FIELD( velocity, "velocity", array2dLayoutVelocity, diff --git a/src/coreComponents/physicsSolvers/contact/CMakeLists.txt b/src/coreComponents/physicsSolvers/solidMechanics/contact/CMakeLists.txt similarity index 100% rename from src/coreComponents/physicsSolvers/contact/CMakeLists.txt rename to src/coreComponents/physicsSolvers/solidMechanics/contact/CMakeLists.txt diff --git a/src/coreComponents/physicsSolvers/contact/ContactFields.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/ContactFields.hpp similarity index 89% rename from src/coreComponents/physicsSolvers/contact/ContactFields.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/ContactFields.hpp index 7528f02da14..63286c1a998 100644 --- a/src/coreComponents/physicsSolvers/contact/ContactFields.hpp +++ b/src/coreComponents/physicsSolvers/solidMechanics/contact/ContactFields.hpp @@ -21,7 +21,7 @@ #define GEOS_PHYSICSSOLVERS_CONTACT_CONTACTFIELDS_HPP_ #include "mesh/MeshFields.hpp" -#include "common/format/EnumStrings.hpp" +#include "physicsSolvers/solidMechanics/contact/FractureState.hpp" namespace geos { @@ -34,21 +34,21 @@ namespace fields namespace contact { -/** - * @struct FractureState - * - * A struct for the fracture states - */ -struct FractureState -{ - enum State : integer - { - Stick = 0, ///< element is closed: no jump across the discontinuity. - NewSlip = 1, ///< element just starts sliding: no normal jump across the discontinuity, but sliding is allowed. - Slip = 2, ///< element is sliding: no normal jump across the discontinuity, but sliding is allowed. - Open = 3 ///< element is open: no constraints are imposed. - }; -}; +DECLARE_FIELD( totalBubbleDisplacement, + "totalBubbleDisplacement", + array2d< real64 >, + 0, + LEVEL_0, + WRITE_AND_READ, + "Total bubble displacements at the faces" ); + +DECLARE_FIELD( incrementalBubbleDisplacement, + "incrementalBubbleDisplacement", + array2d< real64 >, + 0, + LEVEL_3, + WRITE_AND_READ, + "Incremental bubble displacements for the current time step on the nodes" ); DECLARE_FIELD( iterativePenalty, "iterativePenalty", @@ -194,9 +194,6 @@ DECLARE_FIELD( targetIncrementalJump, WRITE_AND_READ, "It's the target incremental jump in a timestep (e.g., slip coming from RS)." ); - -ENUM_STRINGS( FractureState::State, "stick", "new_slip", "slip", "open" ); - } } diff --git a/src/coreComponents/physicsSolvers/contact/ContactSolverBase.cpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/ContactSolverBase.cpp similarity index 89% rename from src/coreComponents/physicsSolvers/contact/ContactSolverBase.cpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/ContactSolverBase.cpp index 9555658db65..dd1e43a6f4c 100644 --- a/src/coreComponents/physicsSolvers/contact/ContactSolverBase.cpp +++ b/src/coreComponents/physicsSolvers/solidMechanics/contact/ContactSolverBase.cpp @@ -23,7 +23,7 @@ #include "constitutive/contact/FrictionBase.hpp" #include "mesh/DomainPartition.hpp" #include "mesh/SurfaceElementRegion.hpp" -#include "physicsSolvers/contact/LogLevelsInfo.hpp" +#include "physicsSolvers/solidMechanics/contact/LogLevelsInfo.hpp" #include "physicsSolvers/solidMechanics/SolidMechanicsLagrangianFEM.hpp" #include "common/GEOS_RAJA_Interface.hpp" #include "fieldSpecification/FieldSpecificationManager.hpp" @@ -33,7 +33,7 @@ namespace geos using namespace dataRepository; using namespace constitutive; -using namespace fields::contact; +using namespace fields; ContactSolverBase::ContactSolverBase( const string & name, Group * const parent ): @@ -73,38 +73,38 @@ void ContactSolverBase::registerDataOnMesh( dataRepository::Group & meshBodies ) { setConstitutiveNamesCallSuper( subRegion ); - subRegion.registerField< fields::contact::dispJump >( getName() ). + subRegion.registerField< contact::dispJump >( getName() ). setDimLabels( 1, labels ). reference().resizeDimension< 1 >( 3 ); - subRegion.registerField< fields::contact::deltaDispJump >( getName() ). + subRegion.registerField< contact::deltaDispJump >( getName() ). setDimLabels( 1, labels ). reference().resizeDimension< 1 >( 3 ); - subRegion.registerField< fields::contact::oldDispJump >( getName() ). + subRegion.registerField< contact::oldDispJump >( getName() ). setDimLabels( 1, labels ). reference().resizeDimension< 1 >( 3 ); - subRegion.registerField< fields::contact::dispJump_n >( getName() ). + subRegion.registerField< contact::dispJump_n >( getName() ). setDimLabels( 1, labels ). reference().resizeDimension< 1 >( 3 ); - subRegion.registerField< fields::contact::traction >( getName() ). + subRegion.registerField< contact::traction >( getName() ). setDimLabels( 1, labels ). reference().resizeDimension< 1 >( 3 ); - subRegion.registerField< fields::contact::fractureState >( getName() ); + subRegion.registerField< contact::fractureState >( getName() ); - subRegion.registerField< fields::contact::oldFractureState >( getName() ); + subRegion.registerField< contact::oldFractureState >( getName() ); - subRegion.registerField< fields::contact::slip >( getName() ); + subRegion.registerField< contact::slip >( getName() ); - subRegion.registerField< fields::contact::tangentialTraction >( getName() ); + subRegion.registerField< contact::tangentialTraction >( getName() ); - subRegion.registerField< fields::contact::deltaSlip >( getName() ). + subRegion.registerField< contact::deltaSlip >( getName() ). setDimLabels( 1, labelsTangent ).reference().resizeDimension< 1 >( 2 ); - subRegion.registerField< fields::contact::deltaSlip_n >( this->getName() ). + subRegion.registerField< contact::deltaSlip_n >( this->getName() ). setDimLabels( 1, labelsTangent ).reference().resizeDimension< 1 >( 2 ); } ); @@ -136,6 +136,8 @@ void ContactSolverBase::computeFractureStateStatistics( MeshLevel const & mesh, globalIndex & numSlip, globalIndex & numOpen ) const { + using namespace fields::contact; + ElementRegionManager const & elemManager = mesh.getElemManager(); array1d< globalIndex > localCounter( 4 ); @@ -143,7 +145,7 @@ void ContactSolverBase::computeFractureStateStatistics( MeshLevel const & mesh, elemManager.forElementSubRegions< SurfaceElementSubRegion >( [&]( SurfaceElementSubRegion const & subRegion ) { arrayView1d< integer const > const & ghostRank = subRegion.ghostRank(); - arrayView1d< integer const > const & fractureState = subRegion.getField< fields::contact::fractureState >(); + arrayView1d< integer const > const & fractureState = subRegion.getField< contact::fractureState >(); RAJA::ReduceSum< parallelHostReduce, localIndex > stickCount( 0 ), newSlipCount( 0 ), slipCount( 0 ), openCount( 0 ); forAll< parallelHostPolicy >( subRegion.size(), [=] ( localIndex const kfe ) @@ -235,7 +237,7 @@ void ContactSolverBase::synchronizeFractureState( DomainPartition & domain ) con { FieldIdentifiers fieldsToBeSync; - fieldsToBeSync.addElementFields( { fields::contact::fractureState::key() }, { getUniqueFractureRegionName() } ); + fieldsToBeSync.addElementFields( { contact::fractureState::key() }, { getUniqueFractureRegionName() } ); CommunicationTools::getInstance().synchronizeFields( fieldsToBeSync, mesh, diff --git a/src/coreComponents/physicsSolvers/contact/ContactSolverBase.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/ContactSolverBase.hpp similarity index 98% rename from src/coreComponents/physicsSolvers/contact/ContactSolverBase.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/ContactSolverBase.hpp index 646d6b17277..c043c0e761d 100644 --- a/src/coreComponents/physicsSolvers/contact/ContactSolverBase.hpp +++ b/src/coreComponents/physicsSolvers/solidMechanics/contact/ContactSolverBase.hpp @@ -22,7 +22,7 @@ #define GEOS_PHYSICSSOLVERS_CONTACT_CONTACTSOLVERBASE_HPP_ #include "physicsSolvers/solidMechanics/SolidMechanicsLagrangianFEM.hpp" -#include "physicsSolvers/contact/ContactFields.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactFields.hpp" namespace geos { diff --git a/src/coreComponents/physicsSolvers/solidMechanics/contact/FractureState.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/FractureState.hpp new file mode 100644 index 00000000000..7496dd64d47 --- /dev/null +++ b/src/coreComponents/physicsSolvers/solidMechanics/contact/FractureState.hpp @@ -0,0 +1,58 @@ +/* + * ------------------------------------------------------------------------------------------------------------ + * SPDX-License-Identifier: LGPL-2.1-only + * + * Copyright (c) 2016-2024 Lawrence Livermore National Security LLC + * Copyright (c) 2018-2024 TotalEnergies + * Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University + * Copyright (c) 2023-2024 Chevron + * Copyright (c) 2019- GEOS/GEOSX Contributors + * All rights reserved + * + * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details. + * ------------------------------------------------------------------------------------------------------------ + */ + +/** + * @file FractureState.hpp + */ + +#ifndef GEOS_PHYSICSSOLVERS_CONTACT_FRACTURESTATE_HPP_ +#define GEOS_PHYSICSSOLVERS_CONTACT_FRACTURESTATE_HPP_ + +#include "common/format/EnumStrings.hpp" + +namespace geos +{ + +namespace fields +{ + +namespace contact +{ + +/** + * @struct FractureState + * + * A struct for the fracture states + */ +struct FractureState +{ + enum State : integer + { + Stick = 0, ///< element is closed: no jump across the discontinuity. + NewSlip = 1, ///< element just starts sliding: no normal jump across the discontinuity, but sliding is allowed. + Slip = 2, ///< element is sliding: no normal jump across the discontinuity, but sliding is allowed. + Open = 3 ///< element is open: no constraints are imposed. + }; +}; + +ENUM_STRINGS( FractureState::State, "stick", "new_slip", "slip", "open" ); + +} + +} + +} + +#endif // GEOS_PHYSICSSOLVERS_CONTACT_FRACTURESTATE_HPP_ diff --git a/src/coreComponents/physicsSolvers/contact/LogLevelsInfo.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/LogLevelsInfo.hpp similarity index 100% rename from src/coreComponents/physicsSolvers/contact/LogLevelsInfo.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/LogLevelsInfo.hpp diff --git a/src/coreComponents/physicsSolvers/contact/SolidMechanicsAugmentedLagrangianContact.cpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsAugmentedLagrangianContact.cpp similarity index 96% rename from src/coreComponents/physicsSolvers/contact/SolidMechanicsAugmentedLagrangianContact.cpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsAugmentedLagrangianContact.cpp index 090f551ca81..58f96fbee28 100644 --- a/src/coreComponents/physicsSolvers/contact/SolidMechanicsAugmentedLagrangianContact.cpp +++ b/src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsAugmentedLagrangianContact.cpp @@ -20,13 +20,14 @@ #include "mesh/DomainPartition.hpp" #include "SolidMechanicsAugmentedLagrangianContact.hpp" -#include "physicsSolvers/contact/kernels/SolidMechanicsConformingContactKernelsBase.hpp" -#include "physicsSolvers/contact/kernels/SolidMechanicsALMKernels.hpp" -#include "physicsSolvers/contact/kernels/SolidMechanicsALMKernelsBase.hpp" -#include "physicsSolvers/contact/kernels/SolidMechanicsALMSimultaneousKernels.hpp" -#include "physicsSolvers/contact/kernels/SolidMechanicsDisplacementJumpUpdateKernels.hpp" -#include "physicsSolvers/contact/kernels/SolidMechanicsContactFaceBubbleKernels.hpp" -#include "physicsSolvers/contact/LogLevelsInfo.hpp" +#include "physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsConformingContactKernelsBase.hpp" +#include "physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsALMKernels.hpp" +#include "physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsALMKernelsBase.hpp" +#include "physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsALMSimultaneousKernels.hpp" +#include "physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsDisplacementJumpUpdateKernels.hpp" +#include "physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsContactFaceBubbleKernels.hpp" +#include "physicsSolvers/solidMechanics/contact/LogLevelsInfo.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactFields.hpp" #include "constitutive/ConstitutiveManager.hpp" #include "constitutive/contact/FrictionSelector.hpp" @@ -116,11 +117,11 @@ void SolidMechanicsAugmentedLagrangianContact::registerDataOnMesh( dataRepositor FaceManager & faceManager = meshLevel.getFaceManager(); // Register the total bubble displacement - faceManager.registerField< solidMechanics::totalBubbleDisplacement >( this->getName() ). + faceManager.registerField< contact::totalBubbleDisplacement >( this->getName() ). reference().resizeDimension< 1 >( 3 ); // Register the incremental bubble displacement - faceManager.registerField< solidMechanics::incrementalBubbleDisplacement >( this->getName() ). + faceManager.registerField< contact::incrementalBubbleDisplacement >( this->getName() ). reference().resizeDimension< 1 >( 3 ); } ); @@ -128,7 +129,7 @@ void SolidMechanicsAugmentedLagrangianContact::registerDataOnMesh( dataRepositor { fractureRegion.forElementSubRegions< SurfaceElementSubRegion >( [&]( SurfaceElementSubRegion & subRegion ) { - subRegion.registerField< fields::contact::deltaTraction >( getName() ). + subRegion.registerField< contact::deltaTraction >( getName() ). reference().resizeDimension< 1 >( 3 ); // Register the rotation matrix @@ -182,15 +183,15 @@ void SolidMechanicsAugmentedLagrangianContact::setupDofs( DomainPartition const meshTargets[std::make_pair( meshBodyName, meshLevel.getName())] = std::move( regions ); } ); - dofManager.addField( solidMechanics::totalBubbleDisplacement::key(), + dofManager.addField( contact::totalBubbleDisplacement::key(), FieldLocation::Face, 3, meshTargets ); // Add coupling between bubble // Useful to create connection between bubble dofs for Augmented Lagrangian formulation - dofManager.addCoupling( solidMechanics::totalBubbleDisplacement::key(), - solidMechanics::totalBubbleDisplacement::key(), + dofManager.addCoupling( contact::totalBubbleDisplacement::key(), + contact::totalBubbleDisplacement::key(), DofManager::Connector::Elem ); } @@ -281,10 +282,10 @@ void SolidMechanicsAugmentedLagrangianContact::implicitStepSetup( real64 const & arrayView2d< localIndex const > const elemsToFaces = subRegion.faceList().toViewConst(); arrayView2d< real64 > const incrBubbleDisp = - faceManager.getField< fields::solidMechanics::incrementalBubbleDisplacement >(); + faceManager.getField< contact::incrementalBubbleDisplacement >(); arrayView3d< real64 > const - rotationMatrix = subRegion.getField< fields::contact::rotationMatrix >().toView(); + rotationMatrix = subRegion.getField< contact::rotationMatrix >().toView(); arrayView2d< real64 > const unitNormal = subRegion.getNormalVector(); arrayView2d< real64 > const unitTangent1 = subRegion.getTangentVector1(); @@ -308,7 +309,7 @@ void SolidMechanicsAugmentedLagrangianContact::implicitStepSetup( real64 const & subRegion.getReference< array2d< real64 > >( viewKeyStruct::dispJumpUpdPenaltyString() ); arrayView2d< real64 > const - iterativePenalty = subRegion.getField< fields::contact::iterativePenalty >().toView(); + iterativePenalty = subRegion.getField< contact::iterativePenalty >().toView(); arrayView1d< integer const > const fractureState = subRegion.getField< contact::fractureState >(); if( m_simultaneous ) @@ -397,7 +398,7 @@ void SolidMechanicsAugmentedLagrangianContact::assembleSystem( real64 const time FaceManager const & faceManager = mesh.getFaceManager(); string const & dispDofKey = dofManager.getKey( solidMechanics::totalDisplacement::key() ); - string const & bubbleDofKey = dofManager.getKey( solidMechanics::totalBubbleDisplacement::key() ); + string const & bubbleDofKey = dofManager.getKey( contact::totalBubbleDisplacement::key() ); arrayView1d< globalIndex const > const dispDofNumber = nodeManager.getReference< globalIndex_array >( dispDofKey ); arrayView1d< globalIndex const > const bubbleDofNumber = faceManager.getReference< globalIndex_array >( bubbleDofKey ); @@ -525,7 +526,7 @@ void SolidMechanicsAugmentedLagrangianContact::assembleSystem( real64 const time FaceManager const & faceManager = mesh.getFaceManager(); string const & dispDofKey = dofManager.getKey( solidMechanics::totalDisplacement::key() ); - string const & bubbleDofKey = dofManager.getKey( solidMechanics::totalBubbleDisplacement::key() ); + string const & bubbleDofKey = dofManager.getKey( contact::totalBubbleDisplacement::key() ); arrayView1d< globalIndex const > const dispDofNumber = nodeManager.getReference< globalIndex_array >( dispDofKey ); arrayView1d< globalIndex const > const bubbleDofNumber = faceManager.getReference< globalIndex_array >( bubbleDofKey ); @@ -621,7 +622,7 @@ real64 SolidMechanicsAugmentedLagrangianContact::calculateResidualNorm( real64 c real64 const solidResidualNorm = SolidMechanicsLagrangianFEM::calculateResidualNorm( time, dt, domain, dofManager, localRhs ); - string const bubbleDofKey = dofManager.getKey( solidMechanics::totalBubbleDisplacement::key() ); + string const bubbleDofKey = dofManager.getKey( contact::totalBubbleDisplacement::key() ); globalIndex const rankOffset = dofManager.rankOffset(); @@ -722,13 +723,13 @@ void SolidMechanicsAugmentedLagrangianContact::applySystemSolution( DofManager c domain ); dofManager.addVectorToField( localSolution, - solidMechanics::totalBubbleDisplacement::key(), - solidMechanics::totalBubbleDisplacement::key(), + contact::totalBubbleDisplacement::key(), + contact::totalBubbleDisplacement::key(), scalingFactor ); dofManager.addVectorToField( localSolution, - solidMechanics::totalBubbleDisplacement::key(), - solidMechanics::incrementalBubbleDisplacement::key(), + contact::totalBubbleDisplacement::key(), + contact::incrementalBubbleDisplacement::key(), scalingFactor ); @@ -743,7 +744,7 @@ void SolidMechanicsAugmentedLagrangianContact::applySystemSolution( DofManager c FaceManager const & faceManager = mesh.getFaceManager(); string const & dispDofKey = dofManager.getKey( solidMechanics::totalDisplacement::key() ); - string const & bubbleDofKey = dofManager.getKey( solidMechanics::totalBubbleDisplacement::key() ); + string const & bubbleDofKey = dofManager.getKey( contact::totalBubbleDisplacement::key() ); arrayView1d< globalIndex const > const dispDofNumber = nodeManager.getReference< globalIndex_array >( dispDofKey ); arrayView1d< globalIndex const > const bubbleDofNumber = faceManager.getReference< globalIndex_array >( bubbleDofKey ); @@ -789,8 +790,8 @@ void SolidMechanicsAugmentedLagrangianContact::applySystemSolution( DofManager c FieldIdentifiers fieldsToBeSync; fieldsToBeSync.addFields( FieldLocation::Face, - { solidMechanics::incrementalBubbleDisplacement::key(), - solidMechanics::totalBubbleDisplacement::key() } ); + { contact::incrementalBubbleDisplacement::key(), + contact::totalBubbleDisplacement::key() } ); fieldsToBeSync.addElementFields( { contact::dispJump::key(), contact::deltaDispJump::key() }, @@ -1010,7 +1011,7 @@ bool SolidMechanicsAugmentedLagrangianContact::updateConfiguration( DomainPartit arrayView1d< real64 const > const normalTractionTolerance = subRegion.getReference< array1d< real64 > >( viewKeyStruct::normalTractionToleranceString() ); - arrayView2d< real64 > const iterativePenalty = subRegion.getField< fields::contact::iterativePenalty >().toView(); + arrayView2d< real64 > const iterativePenalty = subRegion.getField< contact::iterativePenalty >().toView(); arrayView2d< real64 > const dispJumpUpdPenalty = subRegion.getReference< array2d< real64 > >( viewKeyStruct::dispJumpUpdPenaltyString() ); @@ -1443,7 +1444,7 @@ void SolidMechanicsAugmentedLagrangianContact::addCouplingNumNonzeros( DomainPar globalIndex const rankOffset = dofManager.rankOffset(); - string const bubbleDofKey = dofManager.getKey( solidMechanics::totalBubbleDisplacement::key() ); + string const bubbleDofKey = dofManager.getKey( contact::totalBubbleDisplacement::key() ); string const dispDofKey = dofManager.getKey( solidMechanics::totalDisplacement::key() ); arrayView1d< globalIndex const > const bubbleDofNumber = faceManager.getReference< globalIndex_array >( bubbleDofKey ); @@ -1549,7 +1550,7 @@ void SolidMechanicsAugmentedLagrangianContact::addCouplingSparsityPattern( Domai globalIndex const rankOffset = dofManager.rankOffset(); - string const bubbleDofKey = dofManager.getKey( solidMechanics::totalBubbleDisplacement::key() ); + string const bubbleDofKey = dofManager.getKey( contact::totalBubbleDisplacement::key() ); string const dispDofKey = dofManager.getKey( solidMechanics::totalDisplacement::key() ); arrayView1d< globalIndex const > const bubbleDofNumber = faceManager.getReference< globalIndex_array >( bubbleDofKey ); @@ -1729,7 +1730,7 @@ void SolidMechanicsAugmentedLagrangianContact::computeTolerances( DomainPartitio if( subRegion.hasField< contact::traction >() ) { arrayView1d< real64 const > const faceArea = subRegion.getElementArea().toViewConst(); - arrayView3d< real64 const > const faceRotationMatrix = subRegion.getField< fields::contact::rotationMatrix >().toView(); + arrayView3d< real64 const > const faceRotationMatrix = subRegion.getField< contact::rotationMatrix >().toView(); arrayView2d< localIndex const > const elemsToFaces = subRegion.faceList().toViewConst(); arrayView1d< real64 > const normalTractionTolerance = @@ -1740,7 +1741,7 @@ void SolidMechanicsAugmentedLagrangianContact::computeTolerances( DomainPartitio subRegion.getReference< array1d< real64 > >( viewKeyStruct::slidingToleranceString() ); arrayView2d< real64 > const - iterativePenalty = subRegion.getField< fields::contact::iterativePenalty >().toView(); + iterativePenalty = subRegion.getField< contact::iterativePenalty >().toView(); arrayView1d< integer const > const ghostRank = subRegion.ghostRank(); diff --git a/src/coreComponents/physicsSolvers/contact/SolidMechanicsAugmentedLagrangianContact.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsAugmentedLagrangianContact.hpp similarity index 99% rename from src/coreComponents/physicsSolvers/contact/SolidMechanicsAugmentedLagrangianContact.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsAugmentedLagrangianContact.hpp index ce7f43edad0..04ad72ab3e7 100644 --- a/src/coreComponents/physicsSolvers/contact/SolidMechanicsAugmentedLagrangianContact.hpp +++ b/src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsAugmentedLagrangianContact.hpp @@ -21,7 +21,7 @@ #ifndef GEOS_PHYSICSSOLVERS_CONTACT_SOLIDMECHANICSAUGMENTEDLAGRANGIANCONTACT_HPP_ #define GEOS_PHYSICSSOLVERS_CONTACT_SOLIDMECHANICSAUGMENTEDLAGRANGIANCONTACT_HPP_ -#include "physicsSolvers/contact/ContactSolverBase.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactSolverBase.hpp" namespace geos { diff --git a/src/coreComponents/physicsSolvers/contact/SolidMechanicsEmbeddedFractures.cpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsEmbeddedFractures.cpp similarity index 98% rename from src/coreComponents/physicsSolvers/contact/SolidMechanicsEmbeddedFractures.cpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsEmbeddedFractures.cpp index 4e31c7c4eaa..b5f1ac23d62 100644 --- a/src/coreComponents/physicsSolvers/contact/SolidMechanicsEmbeddedFractures.cpp +++ b/src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsEmbeddedFractures.cpp @@ -32,9 +32,10 @@ #include "mesh/SurfaceElementRegion.hpp" #include "physicsSolvers/solidMechanics/SolidMechanicsFields.hpp" #include "physicsSolvers/solidMechanics/SolidMechanicsLagrangianFEM.hpp" -#include "physicsSolvers/contact/kernels/SolidMechanicsEFEMKernels.hpp" -#include "physicsSolvers/contact/kernels/SolidMechanicsEFEMStaticCondensationKernels.hpp" -#include "physicsSolvers/contact/kernels/SolidMechanicsEFEMJumpUpdateKernels.hpp" +#include "physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsEFEMKernels.hpp" +#include "physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsEFEMStaticCondensationKernels.hpp" +#include "physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsEFEMJumpUpdateKernels.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactFields.hpp" namespace geos { @@ -99,13 +100,11 @@ void SolidMechanicsEmbeddedFractures::registerDataOnMesh( dataRepository::Group { ContactSolverBase::registerDataOnMesh( meshBodies ); - using namespace fields::contact; - forFractureRegionOnMeshTargets( meshBodies, [&] ( SurfaceElementRegion & fractureRegion ) { fractureRegion.forElementSubRegions< SurfaceElementSubRegion >( [&]( SurfaceElementSubRegion & subRegion ) { - subRegion.registerField< dTraction_dJump >( getName() ). + subRegion.registerField< contact::dTraction_dJump >( getName() ). reference().resizeDimension< 1, 2 >( 3, 3 ); } ); } ); @@ -171,8 +170,8 @@ void SolidMechanicsEmbeddedFractures::implicitStepComplete( real64 const & time_ // update elastic slip before copying dispJump to oldDispJump string const & frictionLawName = subRegion.template getReference< string >( viewKeyStruct::frictionLawNameString() ); FrictionBase const & frictionLaw = getConstitutiveModel< FrictionBase >( subRegion, frictionLawName ); - arrayView2d< real64 const > const & traction = subRegion.getField< fields::contact::traction >(); - arrayView1d< integer > const & fractureState = subRegion.getField< fields::contact::fractureState >(); + arrayView2d< real64 const > const & traction = subRegion.getField< contact::traction >(); + arrayView1d< integer > const & fractureState = subRegion.getField< contact::fractureState >(); constitutiveUpdatePassThru( frictionLaw, [&] ( auto & castedFrictionLaw ) { using FrictionType = TYPEOFREF( castedFrictionLaw ); @@ -778,7 +777,7 @@ void SolidMechanicsEmbeddedFractures::updateState( DomainPartition & domain ) arrayView1d< integer const > const & fractureState = subRegion.getField< contact::fractureState >(); - arrayView1d< real64 > const & slip = subRegion.getField< fields::contact::slip >(); + arrayView1d< real64 > const & slip = subRegion.getField< contact::slip >(); constitutiveUpdatePassThru( frictionLaw, [&] ( auto & castedFrictionLaw ) { @@ -809,9 +808,9 @@ bool SolidMechanicsEmbeddedFractures::updateConfiguration( DomainPartition & dom fractureRegion.forElementSubRegions< SurfaceElementSubRegion >( [&]( SurfaceElementSubRegion & subRegion ) { arrayView1d< integer const > const & ghostRank = subRegion.ghostRank(); - arrayView2d< real64 const > const & dispJump = subRegion.getField< fields::contact::dispJump >(); - arrayView2d< real64 const > const & traction = subRegion.getField< fields::contact::traction >(); - arrayView1d< integer > const & fractureState = subRegion.getField< fields::contact::fractureState >(); + arrayView2d< real64 const > const & dispJump = subRegion.getField< contact::dispJump >(); + arrayView2d< real64 const > const & traction = subRegion.getField< contact::traction >(); + arrayView1d< integer > const & fractureState = subRegion.getField< contact::fractureState >(); string const & frictionLawName = subRegion.template getReference< string >( viewKeyStruct::frictionLawNameString() ); FrictionBase const & frictionLaw = getConstitutiveModel< FrictionBase >( subRegion, frictionLawName ); diff --git a/src/coreComponents/physicsSolvers/contact/SolidMechanicsEmbeddedFractures.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsEmbeddedFractures.hpp similarity index 98% rename from src/coreComponents/physicsSolvers/contact/SolidMechanicsEmbeddedFractures.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsEmbeddedFractures.hpp index 384137706c9..7bc61b0e52e 100644 --- a/src/coreComponents/physicsSolvers/contact/SolidMechanicsEmbeddedFractures.hpp +++ b/src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsEmbeddedFractures.hpp @@ -21,7 +21,7 @@ #ifndef GEOS_PHYSICSSOLVERS_CONTACT_SOLIDMECHANICSEMBEDDEDFRACTURES_HPP_ #define GEOS_PHYSICSSOLVERS_CONTACT_SOLIDMECHANICSEMBEDDEDFRACTURES_HPP_ -#include "physicsSolvers/contact/ContactSolverBase.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactSolverBase.hpp" namespace geos { diff --git a/src/coreComponents/physicsSolvers/contact/SolidMechanicsLagrangeContact.cpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsLagrangeContact.cpp similarity index 99% rename from src/coreComponents/physicsSolvers/contact/SolidMechanicsLagrangeContact.cpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsLagrangeContact.cpp index af569535465..9d5a7b1f025 100644 --- a/src/coreComponents/physicsSolvers/contact/SolidMechanicsLagrangeContact.cpp +++ b/src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsLagrangeContact.cpp @@ -33,8 +33,8 @@ #include "mesh/mpiCommunications/NeighborCommunicator.hpp" #include "physicsSolvers/fluidFlow/FlowSolverBaseFields.hpp" // needed to register pressure(_n) #include "physicsSolvers/solidMechanics/SolidMechanicsLagrangianFEM.hpp" -#include "physicsSolvers/contact/ContactFields.hpp" -#include "physicsSolvers/contact/LogLevelsInfo.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactFields.hpp" +#include "physicsSolvers/solidMechanics/contact/LogLevelsInfo.hpp" #include "common/GEOS_RAJA_Interface.hpp" #include "linearAlgebra/utilities/LAIHelperFunctions.hpp" #include "linearAlgebra/solvers/PreconditionerJacobi.hpp" @@ -110,7 +110,7 @@ void SolidMechanicsLagrangeContact::registerDataOnMesh( Group & meshBodies ) setDescription( "An array that holds the rotation matrices on the fracture." ). reference().resizeDimension< 1, 2 >( 3, 3 ); - subRegion.registerField< fields::contact::deltaTraction >( getName() ). + subRegion.registerField< contact::deltaTraction >( getName() ). reference().resizeDimension< 1 >( 3 ); subRegion.registerWrapper< array1d< real64 > >( viewKeyStruct::normalTractionToleranceString() ). @@ -521,8 +521,8 @@ void SolidMechanicsLagrangeContact::computeFaceDisplacementJump( DomainPartition arrayView1d< real64 const > const & area = subRegion.getElementArea().toViewConst(); arrayView2d< real64 > const dispJump = subRegion.getField< contact::dispJump >(); - arrayView1d< real64 > const slip = subRegion.getField< fields::contact::slip >(); - arrayView1d< real64 > const aperture = subRegion.getField< fields::elementAperture >(); + arrayView1d< real64 > const slip = subRegion.getField< contact::slip >(); + arrayView1d< real64 > const aperture = subRegion.getField< elementAperture >(); forAll< parallelHostPolicy >( subRegion.size(), [=] ( localIndex const kfe ) { diff --git a/src/coreComponents/physicsSolvers/contact/SolidMechanicsLagrangeContact.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsLagrangeContact.hpp similarity index 99% rename from src/coreComponents/physicsSolvers/contact/SolidMechanicsLagrangeContact.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsLagrangeContact.hpp index a39b1374735..15cefe4e14d 100644 --- a/src/coreComponents/physicsSolvers/contact/SolidMechanicsLagrangeContact.hpp +++ b/src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsLagrangeContact.hpp @@ -21,7 +21,7 @@ #ifndef GEOS_PHYSICSSOLVERS_CONTACT_SOLIDMECHANICSLAGRANGECONTACT_HPP_ #define GEOS_PHYSICSSOLVERS_CONTACT_SOLIDMECHANICSLAGRANGECONTACT_HPP_ -#include "physicsSolvers/contact/ContactSolverBase.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactSolverBase.hpp" namespace geos { diff --git a/src/coreComponents/physicsSolvers/contact/SolidMechanicsLagrangeContactBubbleStab.cpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsLagrangeContactBubbleStab.cpp similarity index 95% rename from src/coreComponents/physicsSolvers/contact/SolidMechanicsLagrangeContactBubbleStab.cpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsLagrangeContactBubbleStab.cpp index 7c2543a3a08..de984732471 100644 --- a/src/coreComponents/physicsSolvers/contact/SolidMechanicsLagrangeContactBubbleStab.cpp +++ b/src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsLagrangeContactBubbleStab.cpp @@ -21,11 +21,11 @@ #include "mesh/DomainPartition.hpp" #include "SolidMechanicsLagrangeContactBubbleStab.hpp" -#include "physicsSolvers/contact/kernels/SolidMechanicsConformingContactKernelsBase.hpp" -#include "physicsSolvers/contact/kernels/SolidMechanicsLagrangeContactKernels.hpp" -#include "physicsSolvers/contact/kernels/SolidMechanicsDisplacementJumpUpdateKernels.hpp" -#include "physicsSolvers/contact/kernels/SolidMechanicsContactFaceBubbleKernels.hpp" -#include "physicsSolvers/contact/LogLevelsInfo.hpp" +#include "physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsConformingContactKernelsBase.hpp" +#include "physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsLagrangeContactKernels.hpp" +#include "physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsDisplacementJumpUpdateKernels.hpp" +#include "physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsContactFaceBubbleKernels.hpp" +#include "physicsSolvers/solidMechanics/contact/LogLevelsInfo.hpp" #include "constitutive/ConstitutiveManager.hpp" #include "constitutive/contact/FrictionSelector.hpp" @@ -107,11 +107,11 @@ void SolidMechanicsLagrangeContactBubbleStab::registerDataOnMesh( Group & meshBo FaceManager & faceManager = meshLevel.getFaceManager(); // Register the total bubble displacement - faceManager.registerField< solidMechanics::totalBubbleDisplacement >( this->getName() ). + faceManager.registerField< contact::totalBubbleDisplacement >( this->getName() ). reference().resizeDimension< 1 >( 3 ); // Register the incremental bubble displacement - faceManager.registerField< solidMechanics::incrementalBubbleDisplacement >( this->getName() ). + faceManager.registerField< contact::incrementalBubbleDisplacement >( this->getName() ). reference().resizeDimension< 1 >( 3 ); } ); @@ -123,10 +123,10 @@ void SolidMechanicsLagrangeContactBubbleStab::registerDataOnMesh( Group & meshBo subRegion.registerField< contact::rotationMatrix >( this->getName() ). reference().resizeDimension< 1, 2 >( 3, 3 ); - subRegion.registerField< fields::contact::deltaTraction >( getName() ). + subRegion.registerField< contact::deltaTraction >( getName() ). reference().resizeDimension< 1 >( 3 ); - subRegion.registerField< fields::contact::targetIncrementalJump >( getName() ). + subRegion.registerField< contact::targetIncrementalJump >( getName() ). reference().resizeDimension< 1 >( 3 ); } ); } ); @@ -155,7 +155,7 @@ void SolidMechanicsLagrangeContactBubbleStab::setupDofs( DomainPartition const & meshTargets[std::make_pair( meshBodyName, meshLevel.getName())] = std::move( regions ); } ); - dofManager.addField( solidMechanics::totalBubbleDisplacement::key(), + dofManager.addField( contact::totalBubbleDisplacement::key(), FieldLocation::Face, 3, meshTargets ); @@ -166,8 +166,8 @@ void SolidMechanicsLagrangeContactBubbleStab::setupDofs( DomainPartition const & meshTargets ); // Add coupling between bubble - dofManager.addCoupling( solidMechanics::totalBubbleDisplacement::key(), - solidMechanics::totalBubbleDisplacement::key(), + dofManager.addCoupling( contact::totalBubbleDisplacement::key(), + contact::totalBubbleDisplacement::key(), DofManager::Connector::Elem ); dofManager.addCoupling( contact::traction::key(), @@ -179,13 +179,13 @@ void SolidMechanicsLagrangeContactBubbleStab::setupDofs( DomainPartition const & DofManager::Connector::Elem, meshTargets ); - dofManager.addCoupling( solidMechanics::totalBubbleDisplacement::key(), + dofManager.addCoupling( contact::totalBubbleDisplacement::key(), contact::traction::key(), DofManager::Connector::Elem, meshTargets ); dofManager.addCoupling( solidMechanics::totalDisplacement::key(), - solidMechanics::totalBubbleDisplacement::key(), + contact::totalBubbleDisplacement::key(), DofManager::Connector::Elem, meshTargets ); } @@ -273,10 +273,10 @@ void SolidMechanicsLagrangeContactBubbleStab::computeRotationMatrices( DomainPar arrayView2d< localIndex const > const elemsToFaces = subRegion.faceList().toViewConst(); arrayView2d< real64 > const incrBubbleDisp = - faceManager.getField< fields::solidMechanics::incrementalBubbleDisplacement >(); + faceManager.getField< contact::incrementalBubbleDisplacement >(); arrayView3d< real64 > const rotationMatrix = - subRegion.getField< fields::contact::rotationMatrix >().toView(); + subRegion.getField< contact::rotationMatrix >().toView(); arrayView2d< real64 > const unitNormal = subRegion.getNormalVector(); arrayView2d< real64 > const unitTangent1 = subRegion.getTangentVector1(); @@ -346,7 +346,7 @@ void SolidMechanicsLagrangeContactBubbleStab::assembleStabilization( real64 cons FaceManager const & faceManager = mesh.getFaceManager(); string const & dispDofKey = dofManager.getKey( solidMechanics::totalDisplacement::key() ); - string const & bubbleDofKey = dofManager.getKey( solidMechanics::totalBubbleDisplacement::key() ); + string const & bubbleDofKey = dofManager.getKey( contact::totalBubbleDisplacement::key() ); arrayView1d< globalIndex const > const dispDofNumber = nodeManager.getReference< globalIndex_array >( dispDofKey ); arrayView1d< globalIndex const > const bubbleDofNumber = faceManager.getReference< globalIndex_array >( bubbleDofKey ); @@ -391,7 +391,7 @@ void SolidMechanicsLagrangeContactBubbleStab::assembleContact( real64 const dt, FaceManager const & faceManager = mesh.getFaceManager(); string const & dispDofKey = dofManager.getKey( solidMechanics::totalDisplacement::key() ); - string const & bubbleDofKey = dofManager.getKey( solidMechanics::totalBubbleDisplacement::key() ); + string const & bubbleDofKey = dofManager.getKey( contact::totalBubbleDisplacement::key() ); string const & tractionDofKey = dofManager.getKey( contact::traction::key() ); arrayView1d< globalIndex const > const dispDofNumber = nodeManager.getReference< globalIndex_array >( dispDofKey ); @@ -540,13 +540,13 @@ void SolidMechanicsLagrangeContactBubbleStab::applySystemSolution( DofManager co scalingFactor ); dofManager.addVectorToField( localSolution, - solidMechanics::totalBubbleDisplacement::key(), - solidMechanics::totalBubbleDisplacement::key(), + contact::totalBubbleDisplacement::key(), + contact::totalBubbleDisplacement::key(), scalingFactor ); dofManager.addVectorToField( localSolution, - solidMechanics::totalBubbleDisplacement::key(), - solidMechanics::incrementalBubbleDisplacement::key(), + contact::totalBubbleDisplacement::key(), + contact::incrementalBubbleDisplacement::key(), scalingFactor ); @@ -561,7 +561,7 @@ void SolidMechanicsLagrangeContactBubbleStab::applySystemSolution( DofManager co FaceManager const & faceManager = mesh.getFaceManager(); string const & dispDofKey = dofManager.getKey( solidMechanics::totalDisplacement::key() ); - string const & bubbleDofKey = dofManager.getKey( solidMechanics::totalBubbleDisplacement::key() ); + string const & bubbleDofKey = dofManager.getKey( contact::totalBubbleDisplacement::key() ); arrayView1d< globalIndex const > const dispDofNumber = nodeManager.getReference< globalIndex_array >( dispDofKey ); arrayView1d< globalIndex const > const bubbleDofNumber = faceManager.getReference< globalIndex_array >( bubbleDofKey ); @@ -606,8 +606,8 @@ void SolidMechanicsLagrangeContactBubbleStab::applySystemSolution( DofManager co FieldIdentifiers fieldsToBeSync; fieldsToBeSync.addFields( FieldLocation::Face, - { solidMechanics::incrementalBubbleDisplacement::key(), - solidMechanics::totalBubbleDisplacement::key() } ); + { contact::incrementalBubbleDisplacement::key(), + contact::totalBubbleDisplacement::key() } ); fieldsToBeSync.addElementFields( { contact::traction::key(), contact::deltaTraction::key(), @@ -639,7 +639,7 @@ void SolidMechanicsLagrangeContactBubbleStab::addCouplingNumNonzeros( DomainPart globalIndex const rankOffset = dofManager.rankOffset(); - string const bubbleDofKey = dofManager.getKey( solidMechanics::totalBubbleDisplacement::key() ); + string const bubbleDofKey = dofManager.getKey( contact::totalBubbleDisplacement::key() ); string const dispDofKey = dofManager.getKey( solidMechanics::totalDisplacement::key() ); arrayView1d< globalIndex const > const bubbleDofNumber = faceManager.getReference< globalIndex_array >( bubbleDofKey ); @@ -744,7 +744,7 @@ void SolidMechanicsLagrangeContactBubbleStab::addCouplingSparsityPattern( Domain globalIndex const rankOffset = dofManager.rankOffset(); - string const bubbleDofKey = dofManager.getKey( solidMechanics::totalBubbleDisplacement::key() ); + string const bubbleDofKey = dofManager.getKey( contact::totalBubbleDisplacement::key() ); string const dispDofKey = dofManager.getKey( solidMechanics::totalDisplacement::key() ); arrayView1d< globalIndex const > const bubbleDofNumber = faceManager.getReference< globalIndex_array >( bubbleDofKey ); diff --git a/src/coreComponents/physicsSolvers/contact/SolidMechanicsLagrangeContactBubbleStab.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsLagrangeContactBubbleStab.hpp similarity index 99% rename from src/coreComponents/physicsSolvers/contact/SolidMechanicsLagrangeContactBubbleStab.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsLagrangeContactBubbleStab.hpp index 8daefd588fc..9c62fcc90b7 100644 --- a/src/coreComponents/physicsSolvers/contact/SolidMechanicsLagrangeContactBubbleStab.hpp +++ b/src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsLagrangeContactBubbleStab.hpp @@ -21,7 +21,7 @@ #ifndef GEOS_PHYSICSSOLVERS_CONTACT_SOLIDMECHANICSLAGRANGECONTACTBUBBLESTAB_HPP_ #define GEOS_PHYSICSSOLVERS_CONTACT_SOLIDMECHANICSLAGRANGECONTACTBUBBLESTAB_HPP_ -#include "physicsSolvers/contact/ContactSolverBase.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactSolverBase.hpp" namespace geos { diff --git a/src/coreComponents/physicsSolvers/contact/SolidMechanicsPenaltyContact.cpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsPenaltyContact.cpp similarity index 100% rename from src/coreComponents/physicsSolvers/contact/SolidMechanicsPenaltyContact.cpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsPenaltyContact.cpp diff --git a/src/coreComponents/physicsSolvers/contact/SolidMechanicsPenaltyContact.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsPenaltyContact.hpp similarity index 95% rename from src/coreComponents/physicsSolvers/contact/SolidMechanicsPenaltyContact.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsPenaltyContact.hpp index 3b1c0da697c..d6c0e9ffc3e 100644 --- a/src/coreComponents/physicsSolvers/contact/SolidMechanicsPenaltyContact.hpp +++ b/src/coreComponents/physicsSolvers/solidMechanics/contact/SolidMechanicsPenaltyContact.hpp @@ -21,9 +21,9 @@ #ifndef GEOS_PHYSICSSOLVERS_CONTACT_SOLIDMECHANICSPENALTYCONTACT_HPP_ #define GEOS_PHYSICSSOLVERS_CONTACT_SOLIDMECHANICSPENALTYCONTACT_HPP_ -#include "physicsSolvers/contact/ContactSolverBase.hpp" -#include "../../linearAlgebra/DofManager.hpp" -#include "../../common/DataTypes.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactSolverBase.hpp" +#include "linearAlgebra/DofManager.hpp" +#include "common/DataTypes.hpp" namespace geos { diff --git a/src/coreComponents/physicsSolvers/contact/docs/ContactMechanics.rst b/src/coreComponents/physicsSolvers/solidMechanics/contact/docs/ContactMechanics.rst similarity index 100% rename from src/coreComponents/physicsSolvers/contact/docs/ContactMechanics.rst rename to src/coreComponents/physicsSolvers/solidMechanics/contact/docs/ContactMechanics.rst diff --git a/src/coreComponents/physicsSolvers/contact/docs/SolidMechanicsConformingFractures.rst b/src/coreComponents/physicsSolvers/solidMechanics/contact/docs/SolidMechanicsConformingFractures.rst similarity index 100% rename from src/coreComponents/physicsSolvers/contact/docs/SolidMechanicsConformingFractures.rst rename to src/coreComponents/physicsSolvers/solidMechanics/contact/docs/SolidMechanicsConformingFractures.rst diff --git a/src/coreComponents/physicsSolvers/contact/docs/SolidMechanicsEmbeddedFractures.rst b/src/coreComponents/physicsSolvers/solidMechanics/contact/docs/SolidMechanicsEmbeddedFractures.rst similarity index 100% rename from src/coreComponents/physicsSolvers/contact/docs/SolidMechanicsEmbeddedFractures.rst rename to src/coreComponents/physicsSolvers/solidMechanics/contact/docs/SolidMechanicsEmbeddedFractures.rst diff --git a/src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsALMKernels.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsALMKernels.hpp similarity index 100% rename from src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsALMKernels.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsALMKernels.hpp diff --git a/src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsALMKernelsBase.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsALMKernelsBase.hpp similarity index 100% rename from src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsALMKernelsBase.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsALMKernelsBase.hpp diff --git a/src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsALMSimultaneousKernels.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsALMSimultaneousKernels.hpp similarity index 100% rename from src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsALMSimultaneousKernels.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsALMSimultaneousKernels.hpp diff --git a/src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsConformingContactKernelsBase.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsConformingContactKernelsBase.hpp similarity index 100% rename from src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsConformingContactKernelsBase.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsConformingContactKernelsBase.hpp diff --git a/src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsConformingContactKernelsHelper.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsConformingContactKernelsHelper.hpp similarity index 100% rename from src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsConformingContactKernelsHelper.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsConformingContactKernelsHelper.hpp diff --git a/src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsContactFaceBubbleKernels.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsContactFaceBubbleKernels.hpp similarity index 99% rename from src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsContactFaceBubbleKernels.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsContactFaceBubbleKernels.hpp index 46e8034c581..fd0026fb56c 100644 --- a/src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsContactFaceBubbleKernels.hpp +++ b/src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsContactFaceBubbleKernels.hpp @@ -102,7 +102,7 @@ class FaceBubbleKernels : inputRhs, inputDt, inputGravityVector ), - m_bubbleDisp( faceManager.getField< fields::solidMechanics::totalBubbleDisplacement >().toViewConst() ), + m_bubbleDisp( faceManager.getField< fields::contact::totalBubbleDisplacement >().toViewConst() ), m_bDofNumber( bDofNumber ), m_bubbleElems( elementSubRegion.bubbleElementsList() ), m_elemsToFaces( elementSubRegion.faceElementsList() ) diff --git a/src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsDisplacementJumpUpdateKernels.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsDisplacementJumpUpdateKernels.hpp similarity index 98% rename from src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsDisplacementJumpUpdateKernels.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsDisplacementJumpUpdateKernels.hpp index c06b00ff819..827c1e3c95d 100644 --- a/src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsDisplacementJumpUpdateKernels.hpp +++ b/src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsDisplacementJumpUpdateKernels.hpp @@ -98,9 +98,9 @@ class DispJumpUpdate : inputDt, faceElementList ), m_displacement( nodeManager.getField< fields::solidMechanics::totalDisplacement >()), - m_bubbleDisp( faceManager.getField< fields::solidMechanics::totalBubbleDisplacement >() ), + m_bubbleDisp( faceManager.getField< fields::contact::totalBubbleDisplacement >() ), m_incrDisp( nodeManager.getField< fields::solidMechanics::incrementalDisplacement >() ), - m_incrBubbleDisp( faceManager.getField< fields::solidMechanics::incrementalBubbleDisplacement >() ), + m_incrBubbleDisp( faceManager.getField< fields::contact::incrementalBubbleDisplacement >() ), m_deltaDispJump( elementSubRegion.getField< fields::contact::deltaDispJump >().toView() ), m_elementArea( elementSubRegion.getField< fields::elementArea >().toView() ), m_slip( elementSubRegion.getField< fields::contact::slip >().toView() ) diff --git a/src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsEFEMJumpUpdateKernels.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsEFEMJumpUpdateKernels.hpp similarity index 100% rename from src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsEFEMJumpUpdateKernels.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsEFEMJumpUpdateKernels.hpp diff --git a/src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsEFEMKernels.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsEFEMKernels.hpp similarity index 100% rename from src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsEFEMKernels.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsEFEMKernels.hpp diff --git a/src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsEFEMKernelsBase.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsEFEMKernelsBase.hpp similarity index 99% rename from src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsEFEMKernelsBase.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsEFEMKernelsBase.hpp index 4a0ad46b4e9..eef5c878ab1 100644 --- a/src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsEFEMKernelsBase.hpp +++ b/src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsEFEMKernelsBase.hpp @@ -23,7 +23,7 @@ #include "physicsSolvers/solidMechanics/kernels/ImplicitSmallStrainQuasiStatic.hpp" #include "SolidMechanicsEFEMKernelsHelper.hpp" -#include "physicsSolvers/contact/ContactFields.hpp" +#include "physicsSolvers/solidMechanics/contact/ContactFields.hpp" namespace geos { diff --git a/src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsEFEMKernelsHelper.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsEFEMKernelsHelper.hpp similarity index 100% rename from src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsEFEMKernelsHelper.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsEFEMKernelsHelper.hpp diff --git a/src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsEFEMStaticCondensationKernels.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsEFEMStaticCondensationKernels.hpp similarity index 100% rename from src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsEFEMStaticCondensationKernels.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsEFEMStaticCondensationKernels.hpp diff --git a/src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsLagrangeContactKernels.hpp b/src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsLagrangeContactKernels.hpp similarity index 99% rename from src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsLagrangeContactKernels.hpp rename to src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsLagrangeContactKernels.hpp index b5ab97955b6..80279727229 100644 --- a/src/coreComponents/physicsSolvers/contact/kernels/SolidMechanicsLagrangeContactKernels.hpp +++ b/src/coreComponents/physicsSolvers/solidMechanics/contact/kernels/SolidMechanicsLagrangeContactKernels.hpp @@ -104,7 +104,7 @@ class LagrangeContact : m_traction( elementSubRegion.getField< fields::contact::traction >().toViewConst() ), m_tDofNumber( elementSubRegion.getReference< globalIndex_array >( tractionDofKey ).toViewConst() ), m_incrDisp( nodeManager.getField< fields::solidMechanics::incrementalDisplacement >() ), - m_incrBubbleDisp( faceManager.getField< fields::solidMechanics::incrementalBubbleDisplacement >() ), + m_incrBubbleDisp( faceManager.getField< fields::contact::incrementalBubbleDisplacement >() ), m_targetIncrementalJump( elementSubRegion.getField< fields::contact::targetIncrementalJump >().toViewConst() ) {}