MOAB: Mesh Oriented datABase
(version 5.4.1)
|
Base class for all quality improvers. Mote that the PatchData settings are inherited from the PathDataUser class. More...
#include <QualityImprover.hpp>
Public Member Functions | |
virtual | ~QualityImprover () |
void | set_inner_termination_criterion (TerminationCriterion *crit) |
void | set_outer_termination_criterion (TerminationCriterion *crit) |
virtual PatchSet * | get_patch_set ()=0 |
virtual void | initialize_queue (MeshDomainAssoc *mesh_and_domain, const Settings *settings, MsqError &err) |
Protected Member Functions | |
QualityImprover () | |
TerminationCriterion * | get_outer_termination_criterion () |
return the outer termination criterion pointer | |
TerminationCriterion * | get_inner_termination_criterion () |
return the inner termination criterion pointer | |
Private Attributes | |
TerminationCriterion * | innerTerminationCriterion |
TerminationCriterion * | outerTerminationCriterion |
TerminationCriterion * | defaultOuterCriterion |
TerminationCriterion * | defaultInnerCriterion |
Base class for all quality improvers. Mote that the PatchData settings are inherited from the PathDataUser class.
Definition at line 59 of file QualityImprover.hpp.
MBMesquite::QualityImprover::~QualityImprover | ( | ) | [virtual] |
Definition at line 69 of file QualityImprover.cpp.
References defaultInnerCriterion, and defaultOuterCriterion.
{ delete defaultOuterCriterion; delete defaultInnerCriterion; }
MBMesquite::QualityImprover::QualityImprover | ( | ) | [protected] |
The default constructor initialises a few member variables to default values. This can be reused by concrete class constructor.
Definition at line 60 of file QualityImprover.cpp.
References MBMesquite::TerminationCriterion::add_iteration_limit(), defaultInnerCriterion, defaultOuterCriterion, innerTerminationCriterion, and outerTerminationCriterion.
{ defaultOuterCriterion = new TerminationCriterion; defaultInnerCriterion = new TerminationCriterion; defaultOuterCriterion->add_iteration_limit( 1 ); outerTerminationCriterion = defaultOuterCriterion; innerTerminationCriterion = defaultInnerCriterion; }
TerminationCriterion* MBMesquite::QualityImprover::get_inner_termination_criterion | ( | ) | [inline, protected] |
return the inner termination criterion pointer
Definition at line 96 of file QualityImprover.hpp.
Referenced by MBMesquite::ConjugateGradient::ConjugateGradient(), MBMesquite::NonGradient::evaluate(), MBMesquite::FeasibleNewton::FeasibleNewton(), MBMesquite::VertexMover::loop_over_mesh(), MBMesquite::NonGradient::NonGradient(), MBMesquite::QuasiNewton::optimize_vertex_positions(), MBMesquite::TrustRegion::optimize_vertex_positions(), MBMesquite::ConjugateGradient::optimize_vertex_positions(), MBMesquite::SteepestDescent::optimize_vertex_positions(), MBMesquite::FeasibleNewton::optimize_vertex_positions(), and MBMesquite::NonGradient::optimize_vertex_positions().
{ return innerTerminationCriterion; }
TerminationCriterion* MBMesquite::QualityImprover::get_outer_termination_criterion | ( | ) | [inline, protected] |
return the outer termination criterion pointer
Definition at line 91 of file QualityImprover.hpp.
Referenced by MBMesquite::VertexMover::loop_over_mesh().
{ return outerTerminationCriterion; }
virtual PatchSet* MBMesquite::QualityImprover::get_patch_set | ( | ) | [pure virtual] |
Implemented in TCTFauxOptimizer, MBMesquite::FeasibleNewton, MBMesquite::NonGradient, MBMesquite::NonSmoothDescent, MBMesquite::SteepestDescent, MBMesquite::Randomize, MBMesquite::ConjugateGradient, MBMesquite::QuasiNewton, MBMesquite::TrustRegion, UnOptimizer, and MBMesquite::RelaxationSmoother.
Referenced by MBMesquite::VertexMover::loop_over_mesh().
void MBMesquite::QualityImprover::initialize_queue | ( | MeshDomainAssoc * | mesh_and_domain, |
const Settings * | settings, | ||
MsqError & | err | ||
) | [virtual] |
Called for all instructions in queue before loop_over_mesh is called for any insetruction in queue. Default behavior is to do nothing.
Implements MBMesquite::Instruction.
Reimplemented in MBMesquite::VertexMover.
Definition at line 75 of file QualityImprover.cpp.
References MBMesquite::TerminationCriterion::initialize_queue(), innerTerminationCriterion, MSQ_ERRRTN, and outerTerminationCriterion.
{ innerTerminationCriterion->initialize_queue( mesh_and_domain, settings, err );MSQ_ERRRTN( err ); outerTerminationCriterion->initialize_queue( mesh_and_domain, settings, err );MSQ_ERRRTN( err ); }
void MBMesquite::QualityImprover::set_inner_termination_criterion | ( | TerminationCriterion * | crit | ) | [inline] |
Sets in the termination criterion for the concrete solver's optimization.
Definition at line 69 of file QualityImprover.hpp.
Referenced by BCDTest::compare_bcd(), create_instruction_queue(), do_smoother(), main(), run(), run_global_smoother(), run_local_smoother(), run_local_smoother2(), run_smoother(), run_solution_mesh_optimizer(), run_test(), MBMesquite::SizeAdaptShapeWrapper::run_wrapper(), MBMesquite::PaverMinEdgeLengthWrapper::run_wrapper(), MBMesquite::ViscousCFDTetShapeWrapper::run_wrapper(), MBMesquite::ShapeImprover::run_wrapper(), MBMesquite::ShapeImprovementWrapper::run_wrapper(), MBMesquite::LaplaceWrapper::run_wrapper(), MBMesquite::UntangleWrapper::run_wrapper(), ParShapeImprover::ParShapeImprovementWrapper::run_wrapper(), MBMesquite::DeformingDomainWrapper::run_wrapper(), smooth_mesh(), smooth_mixed_mesh(), TerminationCriterionTest::test_abs_vtx_movement_culling(), SphericalGeometryTest::test_cg_mesh_cond_sphere(), VertexCullingRegressionTest::test_laplacian_smoothing_with_cull(), PlanarGeometryTest::test_plane_quad_tangled(), PlanarGeometryTest::test_plane_tri_tangled(), and PlanarGeometryTest::test_plane_tri_xz().
{ innerTerminationCriterion = crit; }
void MBMesquite::QualityImprover::set_outer_termination_criterion | ( | TerminationCriterion * | crit | ) | [inline] |
Sets in the termination criterion for the outer loop over patches.
Definition at line 75 of file QualityImprover.hpp.
Referenced by BCDTest::compare_bcd(), create_instruction_queue(), do_smoother(), main(), run(), run_global_smoother(), run_local_smoother(), run_local_smoother2(), run_smoother(), run_solution_mesh_optimizer(), run_test(), MBMesquite::SizeAdaptShapeWrapper::run_wrapper(), MBMesquite::PaverMinEdgeLengthWrapper::run_wrapper(), MBMesquite::ViscousCFDTetShapeWrapper::run_wrapper(), MBMesquite::ShapeImprovementWrapper::run_wrapper(), MBMesquite::LaplaceWrapper::run_wrapper(), MBMesquite::UntangleWrapper::run_wrapper(), ParShapeImprover::ParShapeImprovementWrapper::run_wrapper(), MBMesquite::DeformingDomainWrapper::run_wrapper(), smooth_mesh(), smooth_mixed_mesh(), TerminationCriterionTest::test_abs_vtx_movement_culling(), SphericalGeometryTest::test_lapl_geo_sphere(), VertexCullingRegressionTest::test_laplacian_smoothing_with_cull(), PlanarGeometryTest::test_plane_quad_tangled(), PlanarGeometryTest::test_plane_tri_tangled(), and SphericalGeometryTest::test_smart_lapl_sphere().
{ outerTerminationCriterion = crit; }
Definition at line 107 of file QualityImprover.hpp.
Referenced by QualityImprover(), and ~QualityImprover().
Definition at line 105 of file QualityImprover.hpp.
Referenced by QualityImprover(), and ~QualityImprover().
Definition at line 102 of file QualityImprover.hpp.
Referenced by initialize_queue(), and QualityImprover().
Definition at line 103 of file QualityImprover.hpp.
Referenced by initialize_queue(), and QualityImprover().