feat(surface): major work on implementing surface constraints in a presciption agnostic manner
This commit is contained in:
@@ -11,7 +11,10 @@ using namespace mean_field;
|
||||
namespace {
|
||||
struct SerialMappingData {
|
||||
explicit SerialMappingData(mfem::Mesh &mesh)
|
||||
: compactification_fes(&mesh, &compactification_fec),
|
||||
: compactification_fes(
|
||||
&mesh,
|
||||
&compactification_fec
|
||||
),
|
||||
compactification_coordinate(&compactification_fes),
|
||||
mapper(field_dof_test_utils::make_domain_mapper()) {
|
||||
compactification_coordinate = 0.0;
|
||||
@@ -83,7 +86,7 @@ TEST_CASE(
|
||||
quadrature::RuleFactory quadrature_factory(std::move(policy));
|
||||
|
||||
const quadrature::MappingKind mapping_kind = quadrature::MappingKind::general;
|
||||
const int position_order = displacement_element->GetOrder();
|
||||
const int position_order = displacement_element->GetOrder();
|
||||
|
||||
quadrature_factory.configure_centrifugal(
|
||||
integrator, quadrature::QuadratureRole::discretization, *density_element, *velocity_element, *transformation,
|
||||
@@ -183,7 +186,7 @@ TEST_CASE(
|
||||
quadrature::RuleFactory quadrature_factory(std::move(policy));
|
||||
|
||||
const quadrature::MappingKind mapping_kind = quadrature::MappingKind::general;
|
||||
const int position_order = displacement_element->GetOrder();
|
||||
const int position_order = displacement_element->GetOrder();
|
||||
|
||||
quadrature_factory.configure_centrifugal(
|
||||
integrator, quadrature::QuadratureRole::discretization, *density_element, *velocity_element, *transformation,
|
||||
@@ -344,7 +347,7 @@ TEST_CASE(
|
||||
quadrature::RuleFactory quadrature_factory(std::move(policy));
|
||||
|
||||
const quadrature::MappingKind mapping_kind = quadrature::MappingKind::general;
|
||||
const int position_order = displacement_element->GetOrder();
|
||||
const int position_order = displacement_element->GetOrder();
|
||||
|
||||
quadrature_factory.configure_centrifugal(
|
||||
integrator, quadrature::QuadratureRole::discretization, *density_element, *velocity_element, *transformation,
|
||||
@@ -606,8 +609,8 @@ TEST_CASE(
|
||||
mapping_evaluator.GetQuadratureContext(*transformation, integration_point);
|
||||
const double signed_map_determinant = context.detJ;
|
||||
|
||||
local_minimum_map_determinant = std::min(local_minimum_map_determinant, signed_map_determinant);
|
||||
local_maximum_map_determinant = std::max(local_maximum_map_determinant, signed_map_determinant);
|
||||
local_minimum_map_determinant = std::min(local_minimum_map_determinant, signed_map_determinant);
|
||||
local_maximum_map_determinant = std::max(local_maximum_map_determinant, signed_map_determinant);
|
||||
|
||||
mapping_evaluator.GetPhysicalPoint(*transformation, integration_point, x_physical);
|
||||
velocity_element->CalcShape(integration_point, velocity_shape);
|
||||
@@ -808,7 +811,7 @@ TEST_CASE(
|
||||
mapping_evaluator.GetQuadratureContext(*transformation, integration_point);
|
||||
const double signed_map_determinant = context.detJ;
|
||||
|
||||
local_minimum_determinant = std::min(local_minimum_determinant, signed_map_determinant);
|
||||
local_minimum_determinant = std::min(local_minimum_determinant, signed_map_determinant);
|
||||
|
||||
mapping_evaluator.GetPhysicalPoint(*transformation, integration_point, x_physical);
|
||||
velocity_element->CalcShape(integration_point, velocity_shape);
|
||||
@@ -999,7 +1002,7 @@ TEST_CASE(
|
||||
mapping_evaluator.GetQuadratureContext(*transformation, integration_point);
|
||||
const double signed_map_determinant = context.detJ;
|
||||
|
||||
local_minimum_determinant = std::min(local_minimum_determinant, signed_map_determinant);
|
||||
local_minimum_determinant = std::min(local_minimum_determinant, signed_map_determinant);
|
||||
|
||||
mapping_evaluator.GetPhysicalPoint(*transformation, integration_point, x_physical);
|
||||
velocity_element->CalcShape(integration_point, velocity_shape);
|
||||
|
||||
@@ -43,8 +43,8 @@ TEST_CASE(
|
||||
mfem::GridFunction displacement(&displacement_fes);
|
||||
displacement = 0.0;
|
||||
mfem::GridFunction compactification_coordinate(&compactification_fes);
|
||||
compactification_coordinate = 0.0;
|
||||
mapping::DomainMapper domain_mapper = field_dof_test_utils::make_domain_mapper();
|
||||
compactification_coordinate = 0.0;
|
||||
mapping::DomainMapper domain_mapper = field_dof_test_utils::make_domain_mapper();
|
||||
|
||||
const mfem::FiniteElement *velocity_element = velocity_fes.GetFE(0);
|
||||
const mfem::FiniteElement *density_element = density_fes.GetFE(0);
|
||||
@@ -129,8 +129,7 @@ TEST_CASE(
|
||||
element_residual[displacement_block] = &displacement_residual;
|
||||
|
||||
integrators::GravityMomentumIntegrator integrator(
|
||||
domain_mapper, displacement, compactification_coordinate,
|
||||
integrators::GravityForceJacobianMode::field_coupled
|
||||
domain_mapper, displacement, compactification_coordinate, integrators::GravityForceJacobianMode::field_coupled
|
||||
);
|
||||
|
||||
const int maximum_order = std::max(
|
||||
@@ -297,12 +296,10 @@ TEST_CASE(
|
||||
mfem::GridFunction displacement(&displacement_fes);
|
||||
displacement = 0.0;
|
||||
mfem::GridFunction compactification_coordinate(&compactification_fes);
|
||||
compactification_coordinate = 0.0;
|
||||
compactification_coordinate = 0.0;
|
||||
mapping::DomainMapper domain_mapper = field_dof_test_utils::make_domain_mapper();
|
||||
|
||||
mapping::GridFunctionMappingEvaluator mapping_evaluator(
|
||||
domain_mapper, displacement, compactification_coordinate
|
||||
);
|
||||
mapping::GridFunctionMappingEvaluator mapping_evaluator(domain_mapper, displacement, compactification_coordinate);
|
||||
|
||||
auto reference_density = [](const mfem::Vector &x) { return 1.0 + x(0); };
|
||||
|
||||
@@ -381,8 +378,7 @@ TEST_CASE(
|
||||
element_residual[displacement_block] = &displacement_residual;
|
||||
|
||||
integrators::GravityMomentumIntegrator integrator(
|
||||
domain_mapper, displacement, compactification_coordinate,
|
||||
integrators::GravityForceJacobianMode::field_coupled
|
||||
domain_mapper, displacement, compactification_coordinate, integrators::GravityForceJacobianMode::field_coupled
|
||||
);
|
||||
|
||||
const mfem::IntegrationRule &integration_rule = mfem::IntRules.Get(velocity_element->GetGeomType(), 8);
|
||||
@@ -471,11 +467,9 @@ TEST_CASE(
|
||||
mfem::GridFunction displacement(&displacement_fes);
|
||||
displacement = 0.0;
|
||||
mfem::GridFunction compactification_coordinate(&compactification_fes);
|
||||
compactification_coordinate = 0.0;
|
||||
compactification_coordinate = 0.0;
|
||||
mapping::DomainMapper domain_mapper = field_dof_test_utils::make_domain_mapper();
|
||||
mapping::GridFunctionMappingEvaluator mapping_evaluator(
|
||||
domain_mapper, displacement, compactification_coordinate
|
||||
);
|
||||
mapping::GridFunctionMappingEvaluator mapping_evaluator(domain_mapper, displacement, compactification_coordinate);
|
||||
|
||||
auto radial_gravity = [](const mfem::Vector &x, mfem::Vector &gravity) {
|
||||
gravity.SetSize(3);
|
||||
@@ -553,8 +547,7 @@ TEST_CASE(
|
||||
element_residual[displacement_block] = &displacement_residual;
|
||||
|
||||
integrators::GravityMomentumIntegrator integrator(
|
||||
domain_mapper, displacement, compactification_coordinate,
|
||||
integrators::GravityForceJacobianMode::field_coupled
|
||||
domain_mapper, displacement, compactification_coordinate, integrators::GravityForceJacobianMode::field_coupled
|
||||
);
|
||||
|
||||
const mfem::IntegrationRule &integration_rule = mfem::IntRules.Get(velocity_element->GetGeomType(), 8);
|
||||
|
||||
Reference in New Issue
Block a user