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 = amg_ptr->computeMsmStatistics();
70 for (
const auto & s : stats)
std::vector< Real > & _msm_min_volume
Minimum element volume in the mortar segment mesh.
std::vector< Real > & _msm_median_volume
Median element volume in the mortar segment mesh.
std::vector< unsigned int > & _primary_lower_n_elems
Element count in the primary lower-dimensional subdomain, one entry per mortar interface.
const bool _on_displaced
Whether to report statistics for the displaced mortar interfaces.
std::vector< Real > & _primary_lower_median_volume
Median element volume in the primary lower-dimensional subdomain.
Reporter object that has a single execution of the "execute" method for each execute flag...
const ReporterMode REPORTER_MODE_ROOT
Reports mortar segment mesh statistics (element counts and volume statistics) for all mortar interfac...
static InputParameters validParams()
std::vector< Real > & _secondary_lower_min_volume
Minimum 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 > & _msm_max_volume
Maximum element volume in the mortar segment mesh.
FEProblemBase & _fe_problem
Reference to the FEProblemBase for this user object.
registerMooseObject("MooseApp", MortarSegmentMeshReporter)
const std::unordered_map< std::pair< BoundaryID, BoundaryID >, std::unique_ptr< AutomaticMortarGeneration > > & getMortarInterfaces(bool on_displaced) const
MortarSegmentMeshReporter(const InputParameters ¶meters)
std::vector< Real > & _secondary_lower_median_volume
Median element volume in the secondary lower-dimensional subdomain.
std::vector< Real > & _secondary_lower_max_volume
Maximum element volume in the secondary lower-dimensional subdomain.
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.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static InputParameters validParams()
virtual void execute() override
Execute method.
std::vector< unsigned int > & _msm_n_elems
Element count in the mortar segment mesh, one entry per mortar interface.
void ErrorVector unsigned int