Commit 7ed4e15c authored by GILLES Sebastien's avatar GILLES Sebastien
Browse files

#820 Poromechanics: add the finite element space to deal with the big monolithic matrix.

parent 74401f93
......@@ -94,6 +94,23 @@ NumberingSubset14 = {
} -- NumberingSubset14
NumberingSubset15 = {
-- 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 = 'fluid_mass_velocity_pressure',
-- 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
} -- NumberingSubset15
NumberingSubset20 = {
......@@ -562,6 +579,32 @@ FiniteElementSpace11 = {
}
-- FiniteElementSpace12 -- Monolithic
FiniteElementSpace12 = {
-- Index of the god of dof into which the finite element space is defined.
-- Expected format: VALUE
god_of_dof_index = 1,
-- Index of the domain onto which the finite element space is defined. This domain must be unidimensional.
-- Expected format: VALUE
domain_index = 10,
-- 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 = { 'fluid_mass', 'fluid_pressure', 'fluid_velocity' },
-- List of the shape function to use for each unknown;
-- Expected format: {"VALUE1", "VALUE2", ...}
-- shape_function_list = { 'P2', 'P1' },
shape_function_list = { 'P1', 'P1', 'P1b' },
-- List of the numbering subset to use for each unknown;
-- Expected format: {VALUE1, VALUE2, ...}
numbering_subset_list = { 15, 15, 15 }
}
FiniteElementSpace20 = {
......
......@@ -40,7 +40,6 @@ namespace HappyHeart
{ }
void VariationalFormulation::Perform()
{
decltype(auto) time_manager = parent::GetTimeManager();
......
......@@ -60,6 +60,7 @@ namespace HappyHeart
{
fluid = 10,
inlet_border = 11,
fluid_monolithic = 12,
solid = 20
};
......@@ -105,6 +106,7 @@ namespace HappyHeart
// fluid_scalar = 11, // unused?
porosity = 13,
solid_displacement_in_fluid_mesh = 14,
fluid_mass_velocity_pressure = 15,
solid_displacement = 20,
solid_velocity = 21,
......@@ -132,6 +134,7 @@ namespace HappyHeart
InputParameter::NumberingSubset<EnumUnderlyingType(NumberingSubsetIndex::solid_displacement_in_fluid_mesh)>,
InputParameter::NumberingSubset<EnumUnderlyingType(NumberingSubsetIndex::porosity_on_solid)>,
InputParameter::NumberingSubset<EnumUnderlyingType(NumberingSubsetIndex::fluid_mass_on_solid)>,
InputParameter::NumberingSubset<EnumUnderlyingType(NumberingSubsetIndex::fluid_mass_velocity_pressure)>,
InputParameter::Unknown<EnumUnderlyingType(UnknownIndex::fluid_velocity)>,
InputParameter::Unknown<EnumUnderlyingType(UnknownIndex::fluid_pressure)>,
......@@ -154,6 +157,7 @@ namespace HappyHeart
InputParameter::FEltSpace<EnumUnderlyingType(FEltSpaceIndex::fluid)>,
InputParameter::FEltSpace<EnumUnderlyingType(FEltSpaceIndex::solid)>,
InputParameter::FEltSpace<EnumUnderlyingType(FEltSpaceIndex::inlet_border)>,
InputParameter::FEltSpace<EnumUnderlyingType(FEltSpaceIndex::fluid_monolithic)>,
InputParameter::Petsc<EnumUnderlyingType(SolverIndex::main_solver)>,
// InputParameter::Petsc<EnumUnderlyingType(SolverIndex::dh_solver)>,
......
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