Commit 5a9cba91 authored by GILLES Sebastien's avatar GILLES Sebastien
Browse files

#879 Add new numbering subset for porosity on solid, and build Solid object on...

#879 Add new numbering subset for porosity on solid, and build Solid object on top of solid mesh rather than fluid one.
parent 90ddf89d
......@@ -129,6 +129,23 @@ NumberingSubset21 = {
} -- NumberingSubset21
NumberingSubset22 = {
-- Name of the numbering subset (not really used; at the moment I just need one input parameter to ground
-- the possible values to choose elsewhere).
-- Expected format: "VALUE"
name = 'porosity_on_solid',
-- Whether a vector defined on this numbering subset might be used to compute a movemesh. If true, a
-- FEltSpace featuring this numbering subset will compute additional quantities to enable fast computation.
-- This should be false for most numbering subsets, and when it's true the sole unknown involved should be a
-- displacement.
-- Expected format: 'true' or 'false' (without the quote)
do_move_mesh = false
} -- NumberingSubset22
Unknown10 = {
-- Name of the unknown (used for displays in output).
......@@ -543,15 +560,15 @@ FiniteElementSpace20 = {
-- List of all unknowns defined in the finite element space. Unknowns here must be defined in this file as
-- an 'Unknown' block; expected name/identifier is the name given there.
-- Expected format: {"VALUE1", "VALUE2", ...}
unknown_list = { 'solid_displacement', 'solid_velocity' },
unknown_list = { 'solid_displacement', 'solid_velocity', 'porosity' },
-- List of the shape function to use for each unknown;
-- Expected format: {"VALUE1", "VALUE2", ...}
shape_function_list = { 'P1', 'P1' },
shape_function_list = { 'P1', 'P1', 'P1' },
-- List of the numbering subset to use for each unknown;
-- Expected format: {VALUE1, VALUE2, ...}
numbering_subset_list = { 20, 21 }
numbering_subset_list = { 20, 21, 22 }
} -- FiniteElementSpace20
......
......@@ -107,7 +107,8 @@ namespace HappyHeart
solid_displacement_in_fluid_mesh = 14,
solid_displacement = 20,
solid_velocity = 21
solid_velocity = 21,
porosity_on_solid = 22
};
......@@ -128,6 +129,7 @@ namespace HappyHeart
InputParameter::NumberingSubset<EnumUnderlyingType(NumberingSubsetIndex::solid_velocity)>,
InputParameter::NumberingSubset<EnumUnderlyingType(NumberingSubsetIndex::solid_displacement)>,
InputParameter::NumberingSubset<EnumUnderlyingType(NumberingSubsetIndex::solid_displacement_in_fluid_mesh)>,
InputParameter::NumberingSubset<EnumUnderlyingType(NumberingSubsetIndex::porosity_on_solid)>,
InputParameter::Unknown<EnumUnderlyingType(UnknownIndex::fluid_velocity)>,
InputParameter::Unknown<EnumUnderlyingType(UnknownIndex::fluid_pressure)>,
......
......@@ -44,10 +44,10 @@ namespace HappyHeart
void Model<SolidVariationalFormulationPolicyT>::SupplInitialize(const InputParameterList& input_parameter_data)
{
decltype(auto) fluid_god_of_dof = parent::GetGodOfDof(EnumUnderlyingType(MeshIndex::fluid));
decltype(auto) fluid_mesh = fluid_god_of_dof.GetGeometricMeshRegion();
decltype(auto) solid_god_of_dof = parent::GetGodOfDof(EnumUnderlyingType(MeshIndex::solid));
decltype(auto) solid_mesh = solid_god_of_dof.GetGeometricMeshRegion();
solid_ = std::make_unique<Solid>(input_parameter_data, fluid_mesh);
solid_ = std::make_unique<Solid>(input_parameter_data, solid_mesh);
// \todo #820 Order below will have to be adapted probably: porosity that is used in almost all
// variational formulations and operators is defined in the very first one.
......
......@@ -174,8 +174,6 @@ namespace HappyHeart
//! Porosity (linear) operator.
const GlobalVariationalOperatorNS::Porosity& GetPorosity() const noexcept;
//! Fluid mass.
const ParameterAtDof<ParameterNS::Type::scalar>::type& GetFluidMass() const noexcept;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment