Skip to content

Commit eed9343

Browse files
committed
wip: add option to replace displacements
1 parent c77f5b2 commit eed9343

File tree

3 files changed

+20
-7
lines changed

3 files changed

+20
-7
lines changed

src/coreComponents/integrationTests/mechanicTest/testFEMConsistency.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,9 @@ class ConsistencyTest : public ::testing::TestWithParam< std::tuple< std::string
131131
</Tasks>
132132
<Outputs>
133133
</Outputs>
134-
<Events minTime="-1.0e11" maxTime="1.0">
135-
<SoloEvent name="preFracture" target="/Solvers/SurfaceGen" targetTime="-1.0e11" beginTime="-1.0e11"/>
136-
<SoloEvent name="ELASTICITY.PRE.INIT.STEP" targetTime="-1.0e11" beginTime="-1.0e11" target="/Tasks/ELASTICITY.PRE.INIT.STEP"/>
134+
<Events minTime="0.0" maxTime="1.0">
135+
<SoloEvent name="preFracture" target="/Solvers/SurfaceGen" targetTime="0.0" beginTime="0.0"/>
136+
<SoloEvent name="ELASTICITY.PRE.INIT.STEP" targetTime="0.0" beginTime="0.0" target="/Tasks/ELASTICITY.PRE.INIT.STEP"/>
137137
<PeriodicEvent name="solverApplications" target="/Solvers/mechSolver" forceDt="1.0"/>
138138
</Events>
139139
</Problem>

src/coreComponents/physicsSolvers/solidMechanics/SolidMechanicsInitialization.cpp

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,11 @@ SolidMechanicsInitialization< SOLID_SOLVER >::SolidMechanicsInitialization( cons
5353
setApplyDefaultValue( "" ).
5454
setDescription( "Name of the solid mechanics statistics task" );
5555

56+
registerWrapper( viewKeyStruct::resetDisplacementsString(), &m_resetDisplacements ).
57+
setInputFlag( InputFlags::OPTIONAL ).
58+
setApplyDefaultValue( 1 ).
59+
setDescription( "Flag to reset displacements (1: reset, 0: do not reset)" );
60+
5661
addLogLevel< logInfo::SolverInitialization >();
5762
}
5863

@@ -106,7 +111,10 @@ bool SolidMechanicsInitialization< SOLID_SOLVER >::execute( real64 const time_n,
106111
getName(), time_n, m_solidSolverName ) );
107112

108113
m_solidSolver->setStressInitialization( true );
109-
m_solidMechanicsStateResetTask.execute( time_n, dt, cycleNumber, eventCounter, eventProgress, domain );
114+
if( m_resetDisplacements )
115+
{
116+
m_solidMechanicsStateResetTask.execute( time_n, dt, cycleNumber, eventCounter, eventProgress, domain );
117+
}
110118
m_solidSolver->execute( time_n, dt, cycleNumber, eventCounter, eventProgress, domain );
111119

112120
GEOS_LOG_LEVEL_RANK_0( logInfo::SolverInitialization,
@@ -118,9 +126,11 @@ bool SolidMechanicsInitialization< SOLID_SOLVER >::execute( real64 const time_n,
118126
{
119127
m_solidMechanicsStatistics->execute( time_n, dt, cycleNumber, eventCounter, eventProgress, domain );
120128
}
121-
122-
m_solidMechanicsStateResetTask.execute( time_n, dt, cycleNumber, eventCounter, eventProgress, domain );
123-
129+
130+
if (m_resetDisplacements){
131+
m_solidMechanicsStateResetTask.execute( time_n, dt, cycleNumber, eventCounter, eventProgress, domain );
132+
}
133+
124134
return false;
125135
}
126136

src/coreComponents/physicsSolvers/solidMechanics/SolidMechanicsInitialization.hpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ class SolidMechanicsInitialization : public TaskBase
6060
{
6161
constexpr static char const * solidSolverNameString() { return "solidSolverName"; }
6262
constexpr static char const * solidMechanicsStatisticsNameString() { return "solidMechanicsStatisticsName"; }
63+
constexpr static char const * resetDisplacementsString() { return "reset_displacements"; }
6364
};
6465

6566
void postInputInitialization() override;
@@ -71,6 +72,8 @@ class SolidMechanicsInitialization : public TaskBase
7172
SolidMechanicsStatistics * m_solidMechanicsStatistics;
7273

7374
SolidMechanicsStateReset m_solidMechanicsStateResetTask;
75+
76+
integer m_resetDisplacements;
7477
};
7578

7679
}

0 commit comments

Comments
 (0)