Commit a6b84ff1 authored by GILLES Sebastien's avatar GILLES Sebastien
Browse files

#1049 Fix RivlinCube model.

parent edf636c8
......@@ -351,6 +351,43 @@ Domain8 = {
} -- Domain8
Domain9 = {
-- Index of the geometric mesh upon which the domain is defined (as defined in the present file). Might be
-- left empty if domain not limited to one mesh; at most one value is expected here.
-- Expected format: {VALUE1, VALUE2, ...}
mesh_index = { 1 },
-- List of dimensions encompassed by the domain. Might be left empty if no restriction at all upon
-- dimensions.
-- Expected format: {VALUE1, VALUE2, ...}
-- Constraint: ops_in(v, {0, 1, 2, 3})
dimension_list = { },
-- List of mesh labels encompassed by the domain. Might be left empty if no restriction at all upon mesh
-- labels. This parameter does not make sense if no mesh is defined for the domain.
-- Expected format: {VALUE1, VALUE2, ...}
mesh_label_list = { },
-- List of geometric element types considered in the domain. Might be left empty if no restriction upon
-- these. No constraint is applied at Ops level, as some geometric element types could be added after
-- generation of current input parameter file. Current list is below; if an incorrect value is put there it
-- will be detected a bit later when the domain object is built.
-- The known types when this file was generated are:
-- . Point1
-- . Segment2, Segment3
-- . Triangle3, Triangle6
-- . Quadrangle4, Quadrangle8, Quadrangle9
-- . Tetrahedron4, Tetrahedron10
-- . Hexahedron8, Hexahedron20, Hexahedron27.
-- Expected format: {"VALUE1", "VALUE2", ...}
geometric_element_type_list = { "Triangle3" }
} -- Domain9
EssentialBoundaryCondition1 = {
-- Name of the boundary condition (must be unique).
......
......@@ -351,6 +351,42 @@ Domain8 = {
} -- Domain8
Domain9 = {
-- Index of the geometric mesh upon which the domain is defined (as defined in the present file). Might be
-- left empty if domain not limited to one mesh; at most one value is expected here.
-- Expected format: {VALUE1, VALUE2, ...}
mesh_index = { 1 },
-- List of dimensions encompassed by the domain. Might be left empty if no restriction at all upon
-- dimensions.
-- Expected format: {VALUE1, VALUE2, ...}
-- Constraint: ops_in(v, {0, 1, 2, 3})
dimension_list = { },
-- List of mesh labels encompassed by the domain. Might be left empty if no restriction at all upon mesh
-- labels. This parameter does not make sense if no mesh is defined for the domain.
-- Expected format: {VALUE1, VALUE2, ...}
mesh_label_list = { },
-- List of geometric element types considered in the domain. Might be left empty if no restriction upon
-- these. No constraint is applied at Ops level, as some geometric element types could be added after
-- generation of current input parameter file. Current list is below; if an incorrect value is put there it
-- will be detected a bit later when the domain object is built.
-- The known types when this file was generated are:
-- . Point1
-- . Segment2, Segment3
-- . Triangle3, Triangle6
-- . Quadrangle4, Quadrangle8, Quadrangle9
-- . Tetrahedron4, Tetrahedron10
-- . Hexahedron8, Hexahedron20, Hexahedron27.
-- Expected format: {"VALUE1", "VALUE2", ...}
geometric_element_type_list = { "Triangle3" }
} -- Domain9
EssentialBoundaryCondition1 = {
-- Name of the boundary condition (must be unique).
......
......@@ -47,7 +47,8 @@ namespace HappyHeart
face4 = 5,
face5 = 6,
face6 = 7,
face456 = 8
face456 = 8,
full_mesh = 9
};
......@@ -107,6 +108,7 @@ namespace HappyHeart
InputParameter::Domain<EnumUnderlyingType(DomainIndex::face5)>,
InputParameter::Domain<EnumUnderlyingType(DomainIndex::face6)>,
InputParameter::Domain<EnumUnderlyingType(DomainIndex::face456)>,
InputParameter::Domain<EnumUnderlyingType(DomainIndex::full_mesh)>,
InputParameter::DirichletBoundaryCondition<EnumUnderlyingType(BoundaryConditionIndex::face1)>,
InputParameter::DirichletBoundaryCondition<EnumUnderlyingType(BoundaryConditionIndex::face2)>,
......
......@@ -12,6 +12,8 @@
#include "HappyHeart/Utilities/Filesystem/File.hpp"
#include "HappyHeart/ThirdParty/Wrappers/Petsc/Vector/AccessVectorContent.hpp"
#include "HappyHeart/Geometry/Domain/DomainManager.hpp"
#include "HappyHeart/ParameterInstances/Compound/Solid/Solid.hpp"
#include "HappyHeart/FormulationSolver/Private/InitialCondition/InitThreeDimensionalInitialCondition.hpp"
......@@ -43,17 +45,18 @@ namespace HappyHeart
void VariationalFormulation::SupplInit(const InputParameterList& input_parameter_data)
{
const auto& god_of_dof = GetGodOfDof();
const auto& geometric_mesh_region = god_of_dof.GetGeometricMeshRegion();
decltype(auto) domain = DomainManager::GetInstance().GetDomain(EnumUnderlyingType(DomainIndex::full_mesh));
const auto& felt_space_highest_dimension = god_of_dof.GetFEltSpace(EnumUnderlyingType(FEltSpaceIndex::highest_dimension));
solid_ = std::make_unique<Solid>(input_parameter_data,
geometric_mesh_region,
domain,
felt_space_highest_dimension.GetQuadratureRulePerTopology()
);
static_pressure_ = InitScalarParameterFromInputData<InputParameter::Source::StaticPressure>("StaticPressure",
geometric_mesh_region,
input_parameter_data);
domain,
input_parameter_data);
{
const auto& numbering_subset = GetNumberingSubset();
......
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