21 "Reports mortar segment mesh statistics (element counts and volume statistics) for all "
22 "mortar interfaces. One entry per primary-secondary subdomain pair is appended to each "
29 _on_displaced(getParam<bool>(
"use_displaced_mesh")),
30 _secondary_lower_n_elems(declareValueByName<
std::vector<unsigned
int>>(
32 _secondary_lower_max_volume(
33 declareValueByName<
std::vector<Real>>(
"secondary_lower_max_volume")),
34 _secondary_lower_min_volume(
35 declareValueByName<
std::vector<Real>>(
"secondary_lower_min_volume")),
36 _secondary_lower_median_volume(
37 declareValueByName<
std::vector<Real>>(
"secondary_lower_median_volume")),
38 _primary_lower_n_elems(declareValueByName<
std::vector<unsigned
int>>(
"primary_lower_n_elems")),
39 _primary_lower_max_volume(declareValueByName<
std::vector<Real>>(
"primary_lower_max_volume")),
40 _primary_lower_min_volume(declareValueByName<
std::vector<Real>>(
"primary_lower_min_volume")),
41 _primary_lower_median_volume(
42 declareValueByName<
std::vector<Real>>(
"primary_lower_median_volume")),
43 _msm_n_elems(declareValueByName<
std::vector<unsigned
int>>(
"msm_n_elems")),
44 _msm_max_volume(declareValueByName<
std::vector<Real>>(
"msm_max_volume")),
45 _msm_min_volume(declareValueByName<
std::vector<Real>>(
"msm_min_volume")),
46 _msm_median_volume(declareValueByName<
std::vector<Real>>(
"msm_median_volume"))
68 const auto stats = config.amg->computeMsmStatistics();
70 for (
const auto & s : stats)
registerMooseObject("MooseApp", MortarSegmentMeshReporter)
const ReporterMode REPORTER_MODE_ROOT
void ErrorVector unsigned int
const std::unordered_map< std::pair< BoundaryID, BoundaryID >, MortarInterfaceConfig > & getMortarInterfaces(bool on_displaced) const
Reporter object that has a single execution of the "execute" method for each execute flag.
static InputParameters validParams()
Reports mortar segment mesh statistics (element counts and volume statistics) for all mortar interfac...
std::vector< unsigned int > & _primary_lower_n_elems
Element count in the primary lower-dimensional subdomain, one entry per mortar interface.
std::vector< Real > & _msm_min_volume
Minimum element volume in the mortar segment mesh.
std::vector< Real > & _secondary_lower_min_volume
Minimum element volume in the secondary lower-dimensional subdomain.
static InputParameters validParams()
const bool _on_displaced
Whether to report statistics for the displaced mortar interfaces.
std::vector< unsigned int > & _msm_n_elems
Element count in the mortar segment mesh, one entry per mortar interface.
std::vector< Real > & _msm_median_volume
Median element volume in the mortar segment mesh.
MortarSegmentMeshReporter(const InputParameters ¶meters)
std::vector< unsigned int > & _secondary_lower_n_elems
Element count in the secondary lower-dimensional subdomain, one entry per mortar interface.
std::vector< Real > & _primary_lower_min_volume
Minimum element volume in the primary lower-dimensional subdomain.
std::vector< Real > & _msm_max_volume
Maximum element volume in the mortar segment mesh.
std::vector< Real > & _primary_lower_median_volume
Median element volume in the primary lower-dimensional subdomain.
std::vector< Real > & _secondary_lower_median_volume
Median element volume in the secondary lower-dimensional subdomain.
std::vector< Real > & _primary_lower_max_volume
Maximum element volume in the primary lower-dimensional subdomain.
std::vector< Real > & _secondary_lower_max_volume
Maximum element volume in the secondary lower-dimensional subdomain.
virtual void execute() override
Execute method.
FEProblemBase & _fe_problem
Reference to the FEProblemBase for this user object.