Cover both density mass and EOS source in closure quadrature
This commit is contained in:
@@ -146,7 +146,19 @@ namespace {
|
||||
mean_field::quadrature::MappingKind::general
|
||||
);
|
||||
|
||||
const auto resolution = f.quadratureFactory->get(query, transformation.GetGeometryType());
|
||||
const auto sourceResolution = f.quadratureFactory->get(query, transformation.GetGeometryType());
|
||||
// Enriching density independently can make rho*q higher order than
|
||||
// rho(h)*q. Resolve both through the policy so fixed-order overrides
|
||||
// retain their meaning while the shared rule covers both forms.
|
||||
const auto massQuery = mean_field::field::Field<mean_field::field::Density>::make_query<
|
||||
mean_field::field::Density::Form::EosClosureMass>(
|
||||
mean_field::quadrature::QuadratureRole::discretization, transformation.OrderW(), {},
|
||||
mean_field::utils::DOMAINS::STELLAR, mean_field::quadrature::MappingKind::general
|
||||
);
|
||||
const auto massResolution = f.quadratureFactory->get(massQuery, transformation.GetGeometryType());
|
||||
const auto &resolution = sourceResolution.resolution.order >= massResolution.resolution.order
|
||||
? sourceResolution
|
||||
: massResolution;
|
||||
|
||||
MFEM_VERIFY(
|
||||
resolution.integration_rule != nullptr,
|
||||
|
||||
Reference in New Issue
Block a user