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

#1049 Fix AcousticWave model.

parent a6b84ff1
......@@ -137,6 +137,32 @@ Domain2 = {
geometric_element_type_list = { }
}
Domain3 = {
-- 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}
-- Expected format: VALUE
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.
-- Expected format: {"VALUE1", "VALUE2", ...}
geometric_element_type_list = { }
}
EssentialBoundaryCondition1 = {
-- Name of the boundary condition (must be unique).
......
......@@ -139,6 +139,32 @@ Domain2 = {
}
Domain3 = {
-- 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}
-- Expected format: VALUE
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.
-- Expected format: {"VALUE1", "VALUE2", ...}
geometric_element_type_list = { }
}
EssentialBoundaryCondition1 = {
-- Name of the boundary condition (must be unique).
......
......@@ -139,6 +139,32 @@ Domain2 = {
}
Domain3 = {
-- 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}
-- Expected format: VALUE
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.
-- Expected format: {"VALUE1", "VALUE2", ...}
geometric_element_type_list = { }
}
EssentialBoundaryCondition1 = {
-- Name of the boundary condition (must be unique).
......
......@@ -43,7 +43,8 @@ namespace HappyHeart
enum class DomainIndex
{
highest_dimension = 1,
dirichlet = 2
dirichlet = 2,
full_mesh = 3
};
......@@ -114,6 +115,7 @@ namespace HappyHeart
InputParameter::Domain<EnumUnderlyingType(DomainIndex::highest_dimension)>,
InputParameter::Domain<EnumUnderlyingType(DomainIndex::dirichlet)>,
InputParameter::Domain<EnumUnderlyingType(DomainIndex::full_mesh)>,
InputParameter::DirichletBoundaryCondition<EnumUnderlyingType(BoundaryConditionIndex::first)>,
......
......@@ -65,15 +65,16 @@ namespace HappyHeart
using Diffusion = InputParameter::Diffusion;
const GodOfDof& god_of_dof = GetGodOfDof();
const GeometricMeshRegion& mesh = god_of_dof.GetGeometricMeshRegion();
decltype(auto) domain = DomainManager::GetInstance().GetDomain(EnumUnderlyingType(DomainIndex::full_mesh));
diffusion_tensor_ =
InitScalarParameterFromInputData<Diffusion::Tensor<EnumUnderlyingType(TensorIndex::diffusion_tensor)>>("Diffusion tensor",
mesh,
input_parameter_data);
domain,
input_parameter_data);
density_ = InitScalarParameterFromInputData<Diffusion::Density>("Density",
mesh,
domain,
input_parameter_data);
midpoint_energy_ = 0.;
......@@ -132,10 +133,12 @@ namespace HappyHeart
using parameter_type = InputParameter::TransientSource<EnumUnderlyingType(SourceIndex::volumic_source)>;
decltype(auto) domain = DomainManager::GetInstance().GetDomain(EnumUnderlyingType(DomainIndex::full_mesh));
volumic_source_parameter_ =
InitThreeDimensionalParameterFromInputData<parameter_type>("Volumic source",
mesh,
input_parameter_data);
domain,
input_parameter_data);
const Parameter<ParameterNS::Type::vector, ParameterNS::TimeDependencyNS::None>& volumic_source_parameter = GetVolumicSourceParameter();
......@@ -151,7 +154,7 @@ namespace HappyHeart
parameter_type_2,
ParameterNS::TimeDependencyFunctor
>("Time dependent Source",
mesh,
domain,
input_parameter_data);
assert(!(!time_dependent_source_parameter_));
......
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