Skip to content
Snippets Groups Projects
Commit ad27996b authored by joergbuchwald's avatar joergbuchwald Committed by Dmitri Naumov
Browse files

[PL/TRM] Optional body forces for deformation

New tag, by default true, <apply_body_force_for_deformation>
parent 51c61126
No related branches found
No related tags found
No related merge requests found
A tag that controls whether the body force should be applied to the displacement.
Should be switched off if the initial stress already considers the body force.
......@@ -178,6 +178,11 @@ std::unique_ptr<Process> createThermoRichardsMechanicsProcess(
mass_lumping = *mass_lumping_ptr;
}
bool const apply_body_force_for_deformation =
//! \ogs_file_param{prj__processes__process__THERMO_RICHARDS_MECHANICS__apply_body_force_for_deformation}
config.getConfigParameter<bool>("apply_body_force_for_deformation",
true);
const bool use_TaylorHood_elements =
variable_p->getShapeFunctionOrder() !=
variable_u->getShapeFunctionOrder()
......@@ -191,7 +196,8 @@ std::unique_ptr<Process> createThermoRichardsMechanicsProcess(
initial_stress,
specific_body_force,
mass_lumping,
use_TaylorHood_elements};
use_TaylorHood_elements,
apply_body_force_for_deformation};
SecondaryVariableCollection secondary_variables;
......
......@@ -391,7 +391,8 @@ void ThermoRichardsMechanicsLocalAssembler<ShapeFunctionDisplacement,
block_p(out.res).noalias() = dNdx.transpose() * CD.eq_p_data.rhs_p_dNT_V;
block_u(out.res).noalias() =
B.transpose() * CD.s_mech_data.sigma_total -
N_u_op.transpose() * CD.grav_data.volumetric_body_force;
static_cast<int>(this->process_data_.apply_body_force_for_deformation) *
N_u_op.transpose() * CD.grav_data.volumetric_body_force;
// Storage matrices
out.storage_p_a_p.noalias() = CD.eq_p_data.storage_p_a_p_X_NTN * NTN;
......
......@@ -55,6 +55,8 @@ struct ThermoRichardsMechanicsProcessData
const bool use_TaylorHood_elements;
bool const apply_body_force_for_deformation;
MeshLib::PropertyVector<double>* element_saturation = nullptr;
MeshLib::PropertyVector<double>* element_porosity = nullptr;
MeshLib::PropertyVector<double>* element_liquid_density = nullptr;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment