The TerminationCriterion class contains functionality to terminate the VertexMover's optimization. More...
#include <TerminationCriterion.hpp>
Public Member Functions | |
TerminationCriterion () | |
Constructor which does not take any arguements. More... | |
~TerminationCriterion () | |
Destructor. More... | |
void | add_criterion_type_with_double (TCType tc_type, double eps, MsqError &err) |
Sets the criterion by specifing the TCType and the eps value. More... | |
void | add_criterion_type_with_int (TCType tc_type, int bound, MsqError &err) |
Sets the criterion by specifing the TCType and the integer value. More... | |
void | remove_criterion_type (TCType tc_type, MsqError &err) |
Removes the criterion by specifing just the TCType. More... | |
void | set_culling_type (TCType tc_type, double eps, MsqError &err) |
Sets the type of criterion that the user would like to use for culling purposes (along with the associated tolerance. More... | |
void | remove_culling (MsqError &err) |
Removes any previously set culling types (sets the culling type to be NONE). More... | |
void | reset_outer (MeshSet &ms, ObjectiveFunction *of, MsqError &err) |
Clear any data accumulated during an outer iteration. More... | |
void | reset_inner (PatchData &pd, ObjectiveFunction *of, MsqError &err) |
Clear any data accumulated during an inner iteration. More... | |
void | reset_patch (PatchData &pd, MsqError &err) |
Shared inner and outer initialization during inner loop. More... | |
void | accumulate_inner (PatchData &pd, MsqError &err) |
Accumulate data during inner iteration. More... | |
void | accumulate_inner (PatchData &pd, double of_value, Vector3D *of_grads, MsqError &err) |
Accumulate data during inner iteration. More... | |
void | accumulate_patch (PatchData &pd, MsqError &err) |
Common code for both inner and outer termination criteria during inner iteration. More... | |
void | accumulate_outer (MeshSet &ms, MsqError &err) |
bool | terminate () |
Check if termination criterion has been met. More... | |
bool | cull_vertices (PatchData &pd, ObjectiveFunction *obj_ptr, MsqError &err) |
Function which determines whether this patch should be 'culled'. More... | |
void | cleanup (MeshSet &ms, MsqError &err) |
Cleans up after the TerminationCriterion is finished. More... | |
double | get_current_function_value () |
This function returns the current function value. More... | |
void | set_debug_output_level (int i) |
TerminationCriterion () | |
Constructor which does not take any arguements. More... | |
~TerminationCriterion () | |
Destructor. More... | |
void | add_criterion_type_with_double (TCType tc_type, double eps, MsqError &err) |
Sets the criterion by specifing the TCType and the eps value. More... | |
void | add_criterion_type_with_int (TCType tc_type, int bound, MsqError &err) |
Sets the criterion by specifing the TCType and the integer value. More... | |
void | remove_criterion_type (TCType tc_type, MsqError &err) |
Removes the criterion by specifing just the TCType. More... | |
void | set_culling_type (TCType tc_type, double eps, MsqError &err) |
Sets the type of criterion that the user would like to use for culling purposes (along with the associated tolerance. More... | |
void | remove_culling (MsqError &err) |
Removes any previously set culling types (sets the culling type to be NONE). More... | |
void | reset_outer (MeshSet &ms, ObjectiveFunction *of, MsqError &err) |
Clear any data accumulated during an outer iteration. More... | |
void | reset_inner (PatchData &pd, ObjectiveFunction *of, MsqError &err) |
Clear any data accumulated during an inner iteration. More... | |
void | reset_patch (PatchData &pd, MsqError &err) |
Shared inner and outer initialization during inner loop. More... | |
void | accumulate_inner (PatchData &pd, MsqError &err) |
Accumulate data during inner iteration. More... | |
void | accumulate_inner (PatchData &pd, double of_value, Vector3D *of_grads, MsqError &err) |
Accumulate data during inner iteration. More... | |
void | accumulate_patch (PatchData &pd, MsqError &err) |
Common code for both inner and outer termination criteria during inner iteration. More... | |
void | accumulate_outer (MeshSet &ms, MsqError &err) |
bool | terminate () |
Check if termination criterion has been met. More... | |
bool | cull_vertices (PatchData &pd, ObjectiveFunction *obj_ptr, MsqError &err) |
Function which determines whether this patch should be 'culled'. More... | |
void | cleanup (MeshSet &ms, MsqError &err) |
Cleans up after the TerminationCriterion is finished. More... | |
double | get_current_function_value () |
This function returns the current function value. More... | |
void | set_debug_output_level (int i) |
The TerminationCriterion class contains functionality to terminate the VertexMover's optimization.
The TerminationCriterion class has three roles. It is used to terminate the optimization on a single patch; it is used to terminate the iterations over all patches in the mesh; and it is used to cull vertices frm the optimization processes. Thus, for each optimzation, two TerminationCriterion objects are used. The class contains five important member functions used in the VertexMover: initialize(), reset(), terminate(), cull_vertices(), and cleanup(). These functions are each explained in detail below. In general, the only one of these functions called directly from a concrete VertexMover is terminate() which allows the concrete VertexMover to determine when to stop producing new iterates on a given patch. All other functionality is handled from the base VertexMover base class.
There are several different types of termination criteria available. These types are listed in teh enumberation TCType. Multiple criteria types can be set on a given TermiantionCriterion object, and when this occurs, the optimization process will terminate whenever any of the criteria have been satisfied.
The following is a brief description of how TerminationCriterion is used within Mesquite. Functions called during QualityImprovement can be devided into three groups: reset_* - Initialize data for an iteration accumulate_* - Update TC for changed data during iteration terminate - Check if the termination criterion has been met. There are three different forms of the reset_* and accumulate_* functions which are called on the inner, outer, or both TerminationCriterion classes: _outer - Called on outer termination criterion. _inner - Called on inner termination criterion. _patch - Called on outer termination criterion for each patch and on inner termination criterion for each inner iteration.
If implementing a new TerminationCriterion, the following rules should be followed. If the value must be calculated on a global patch for the outer TC, then: o The functionality should be added to *_inner (yes, INNER) o The *_outer methods should be updated to call the *_inner with a global patch when your TC is requested. o The internal data for any such TC should be initialized in the reset_inner method. If the value for the outer criterion can be calculated from each local patch when iterating over the mesh with local patches, then: o The functionality should be added to *_patch o Any state values pertaining to the entire iteration must be initialized in reset_inner(..) and cleared in terminate() o Any patch-specific data should be initialized in reset_patch o Care should be taken that terminate() does not check uninitialized data if called before the first call to accumulate_patch()
Definition at line 119 of file includeLinks/TerminationCriterion.hpp.
enum TCType |
defines the termination criterion
Definition at line 124 of file includeLinks/TerminationCriterion.hpp.
enum TCType |
Definition at line 124 of file src/Control/TerminationCriterion.hpp.
Constructor which does not take any arguements.
Constructor initializes all of the data members which are not necessarily automatically initialized in their constructors.
Definition at line 62 of file Control/TerminationCriterion.cpp.
References TerminationCriterion::boundedVertexMovementEps, TerminationCriterion::cullingEps, TerminationCriterion::cullingMethodFlag, TerminationCriterion::currentOFValue, TerminationCriterion::gradInfNormAbsoluteEps, TerminationCriterion::gradInfNormRelativeEps, TerminationCriterion::gradL2NormAbsoluteEps, TerminationCriterion::gradL2NormRelativeEps, TerminationCriterion::initialGradInfNorm, TerminationCriterion::initialGradL2Norm, TerminationCriterion::initialOFValue, TerminationCriterion::iterationBound, TerminationCriterion::iterationCounter, TerminationCriterion::lowerOFBound, TerminationCriterion::NONE, TerminationCriterion::previousOFValue, TerminationCriterion::qualityImprovementAbsoluteEps, TerminationCriterion::qualityImprovementRelativeEps, TerminationCriterion::successiveImprovementsAbsoluteEps, TerminationCriterion::successiveImprovementsRelativeEps, TerminationCriterion::terminationCriterionFlag, TerminationCriterion::timeBound, TerminationCriterion::vertexMovementAbsoluteEps, and TerminationCriterion::vertexMovementRelativeEps.
|
inline |
Constructor which does not take any arguements.
|
inline |
Accumulate data during inner iteration.
Definition at line 375 of file Control/TerminationCriterion.cpp.
References ObjectiveFunction::compute_gradient(), ObjectiveFunction::evaluate(), Mesquite::GRAD_FLAGS, MsqError::INVALID_MESH, TerminationCriterion::mGrad, MSQ_CHKERR, MSQ_ERRRTN, MSQ_SETERR, PatchData::num_vertices(), Mesquite::OF_FLAGS, TerminationCriterion::OFPtr, and TerminationCriterion::terminationCriterionFlag.
Referenced by TerminationCriterion::accumulate_outer(), ConjugateGradient::optimize_vertex_positions(), SteepestDescent::optimize_vertex_positions(), and FeasibleNewton::optimize_vertex_positions().
Accumulate data during inner iteration.
Definition at line 404 of file Control/TerminationCriterion.cpp.
References TerminationCriterion::currentGradInfNorm, TerminationCriterion::currentGradL2Norm, TerminationCriterion::currentOFValue, TerminationCriterion::debugLevel, PatchData::get_max_vertex_movement_squared(), TerminationCriterion::GRADIENT_INF_NORM_ABSOLUTE, TerminationCriterion::GRADIENT_INF_NORM_RELATIVE, TerminationCriterion::GRADIENT_L2_NORM_ABSOLUTE, TerminationCriterion::GRADIENT_L2_NORM_RELATIVE, TerminationCriterion::initialVerticesMemento, TerminationCriterion::iterationCounter, Mesquite::length(), TerminationCriterion::maxSquaredInitialMovement, MSQ_DBGOUT, MSQ_ERRRTN, PatchData::num_vertices(), Mesquite::OF_FLAGS, TerminationCriterion::previousOFValue, TerminationCriterion::terminationCriterionFlag, and TerminationCriterion::VERTEX_MOVEMENT_RELATIVE.
Accumulate data during inner iteration.
Definition at line 442 of file Control/TerminationCriterion.cpp.
References TerminationCriterion::accumulate_inner(), MeshSet::get_next_patch(), PatchData::GLOBAL_PATCH, Mesquite::GRAD_FLAGS, MSQ_ERRRTN, Mesquite::OF_FLAGS, PatchDataParameters::set_patch_type(), TerminationCriterion::terminationCriterionFlag, and TerminationCriterion::VERTEX_MOVEMENT_RELATIVE.
Referenced by VertexMover::loop_over_mesh().
Common code for both inner and outer termination criteria during inner iteration.
Definition at line 458 of file Control/TerminationCriterion.cpp.
References TerminationCriterion::BOUNDED_VERTEX_MOVEMENT, TerminationCriterion::boundedVertexMovementEps, PatchData::get_max_vertex_movement_squared(), PatchData::get_vertex_array(), i, TerminationCriterion::maxSquaredMovement, MSQ_ERRRTN, PatchData::num_vertices(), TerminationCriterion::previousVerticesMemento, PatchData::recreate_vertices_memento(), TerminationCriterion::terminationCriterionFlag, TerminationCriterion::VERTEX_MOVEMENT_ABSOLUTE, TerminationCriterion::VERTEX_MOVEMENT_RELATIVE, and TerminationCriterion::vertexMovementExceedsBound.
Referenced by VertexMover::loop_over_mesh(), ConjugateGradient::optimize_vertex_positions(), and FeasibleNewton::optimize_vertex_positions().
Common code for both inner and outer termination criteria during inner iteration.
Sets the criterion by specifing the TCType and the eps value.
Sets the criterion by specifing the TCType and the eps value.
Function to add a type of termination criterion to this object. It is only valid if the specified criterion type requires a single double value.
Definition at line 100 of file Control/TerminationCriterion.cpp.
References TerminationCriterion::BOUNDED_VERTEX_MOVEMENT, TerminationCriterion::boundedVertexMovementEps, TerminationCriterion::CPU_TIME, TerminationCriterion::GRADIENT_INF_NORM_ABSOLUTE, TerminationCriterion::GRADIENT_INF_NORM_RELATIVE, TerminationCriterion::GRADIENT_L2_NORM_ABSOLUTE, TerminationCriterion::GRADIENT_L2_NORM_RELATIVE, TerminationCriterion::gradInfNormAbsoluteEps, TerminationCriterion::gradInfNormRelativeEps, TerminationCriterion::gradL2NormAbsoluteEps, TerminationCriterion::gradL2NormRelativeEps, MsqError::INVALID_ARG, MSQ_SETERR, TerminationCriterion::QUALITY_IMPROVEMENT_ABSOLUTE, TerminationCriterion::QUALITY_IMPROVEMENT_RELATIVE, TerminationCriterion::qualityImprovementAbsoluteEps, TerminationCriterion::qualityImprovementRelativeEps, TerminationCriterion::SUCCESSIVE_IMPROVEMENTS_ABSOLUTE, TerminationCriterion::SUCCESSIVE_IMPROVEMENTS_RELATIVE, TerminationCriterion::successiveImprovementsAbsoluteEps, TerminationCriterion::successiveImprovementsRelativeEps, TerminationCriterion::terminationCriterionFlag, TerminationCriterion::timeBound, TerminationCriterion::VERTEX_MOVEMENT_ABSOLUTE, TerminationCriterion::VERTEX_MOVEMENT_RELATIVE, TerminationCriterion::vertexMovementAbsoluteEps, and TerminationCriterion::vertexMovementRelativeEps.
Referenced by FeasibleNewton::FeasibleNewton().
Sets the criterion by specifing the TCType and the integer value.
Function to add a type of termination criterion to this object. It is only valid if the specified criterion type requires a single integer value.
Definition at line 163 of file Control/TerminationCriterion.cpp.
References MsqError::INVALID_ARG, TerminationCriterion::iterationBound, MSQ_SETERR, TerminationCriterion::NUMBER_OF_ITERATES, and TerminationCriterion::terminationCriterionFlag.
Referenced by ConjugateGradient::ConjugateGradient(), LaplacianIQ::LaplacianIQ(), QualityImprover::QualityImprover(), and ShapeImprovementWrapper::ShapeImprovementWrapper().
Sets the criterion by specifing the TCType and the integer value.
Cleans up after the TerminationCriterion is finished.
Cleans up after the TerminationCriterion is finished.
Currently this only deletes the memento of the vertex positions and the mGrad vector if neccessary. When culling, we remove the soft fixed flags from all of the vertices.
Definition at line 707 of file Control/TerminationCriterion.cpp.
References MeshSet::clear_all_soft_fixed_flags(), TerminationCriterion::cullingMethodFlag, TerminationCriterion::initialVerticesMemento, MSQ_ERRRTN, and TerminationCriterion::previousVerticesMemento.
Referenced by VertexMover::loop_over_mesh().
bool cull_vertices | ( | PatchData & | pd, |
ObjectiveFunction * | obj_ptr, | ||
MsqError & | err | ||
) |
Function which determines whether this patch should be 'culled'.
bool cull_vertices | ( | PatchData & | pd, |
ObjectiveFunction * | obj_ptr, | ||
MsqError & | err | ||
) |
Function which determines whether this patch should be 'culled'.
This function checks the culling method criterion supplied to the object by the user. If the user does not supply a culling method criterion, the default criterion is NONE, and in that case, no culling is performed. If the culling method criterion is satisfied, the interior vertices of the given patch are flagged as soft_fixed. Otherwise, the soft_fixed flag is removed from each of the vertices in the patch (interior and boundary vertices). Also, if the criterion was satisfied, then the function returns true. Otherwise, the function returns false.
Definition at line 618 of file Control/TerminationCriterion.cpp.
References TerminationCriterion::cullingEps, TerminationCriterion::cullingMethodFlag, TerminationCriterion::currentOFValue, ObjectiveFunction::evaluate(), PatchData::get_max_vertex_movement_squared(), TerminationCriterion::initialOFValue, TerminationCriterion::initialVerticesMemento, MsqError::INVALID_MESH, TerminationCriterion::lowerOFBound, MSQ_CHKERR, MSQ_ERRZERO, MSQ_SETERR, TerminationCriterion::NONE, MsqError::NOT_IMPLEMENTED, TerminationCriterion::previousVerticesMemento, TerminationCriterion::QUALITY_IMPROVEMENT_ABSOLUTE, TerminationCriterion::QUALITY_IMPROVEMENT_RELATIVE, PatchData::set_all_vertices_soft_free(), PatchData::set_free_vertices_soft_fixed(), TerminationCriterion::VERTEX_MOVEMENT_ABSOLUTE, and TerminationCriterion::VERTEX_MOVEMENT_RELATIVE.
Referenced by VertexMover::loop_over_mesh().
|
inline |
This function returns the current function value.
Definition at line 240 of file includeLinks/TerminationCriterion.hpp.
References TerminationCriterion::currentOFValue.
|
inline |
This function returns the current function value.
Definition at line 240 of file src/Control/TerminationCriterion.hpp.
References TerminationCriterion::currentOFValue.
Removes the criterion by specifing just the TCType.
Removes the criterion by specifing just the TCType.
Function to remove a previously set criterion type.
Definition at line 177 of file Control/TerminationCriterion.cpp.
References TerminationCriterion::terminationCriterionFlag.
void remove_culling | ( | MsqError & | err | ) |
Removes any previously set culling types (sets the culling type to be NONE).
void remove_culling | ( | MsqError & | err | ) |
Removes any previously set culling types (sets the culling type to be NONE).
Sets the culling type to be NONE.
Definition at line 217 of file Control/TerminationCriterion.cpp.
References TerminationCriterion::cullingMethodFlag, and TerminationCriterion::NONE.
void reset_inner | ( | PatchData & | pd, |
ObjectiveFunction * | of, | ||
MsqError & | err | ||
) |
Clear any data accumulated during an inner iteration.
void reset_inner | ( | PatchData & | pd, |
ObjectiveFunction * | obj_ptr, | ||
MsqError & | err | ||
) |
Clear any data accumulated during an inner iteration.
Reset function using using a PatchData object. This function is called for the inner-stopping criterion directly from the loop over mesh function in VertexMover. For outer criterion, it is called from the reset function which takes a MeshSet object. This function prepares the object to be used by setting the initial values of some of the data members. As examples, if needed, it resets the cpu timer to zero, the iteration counter to zero, and the initial and previous objective function values to the current objective function value for this patch. The return value for this function is similar to that of terminate(). The function returns false if the checked criteria have not been satisfied, and true if they have been. reset() only checks the GRADIENT_INF_NORM_ABSOLUTE, GRADIENT_L2_NORM_ABSOLUTE, and the QUALITY_IMPROVEMENT_ABSOLUTE criteria. Checking these criteria allows the QualityImprover to skip the entire optimization if the initial mesh satisfies the appropriate conditions.
Definition at line 265 of file Control/TerminationCriterion.cpp.
References ObjectiveFunction::compute_gradient(), TerminationCriterion::CPU_TIME, PatchData::create_vertices_memento(), TerminationCriterion::cullingMethodFlag, TerminationCriterion::currentGradInfNorm, TerminationCriterion::currentGradL2Norm, TerminationCriterion::currentOFValue, TerminationCriterion::debugLevel, ObjectiveFunction::evaluate(), Mesquite::GRAD_FLAGS, TerminationCriterion::GRADIENT_INF_NORM_ABSOLUTE, TerminationCriterion::GRADIENT_INF_NORM_RELATIVE, TerminationCriterion::GRADIENT_L2_NORM_ABSOLUTE, TerminationCriterion::GRADIENT_L2_NORM_RELATIVE, TerminationCriterion::initialGradInfNorm, TerminationCriterion::initialGradL2Norm, TerminationCriterion::initialOFValue, TerminationCriterion::initialVerticesMemento, MsqError::INVALID_STATE, TerminationCriterion::iterationCounter, Mesquite::length(), Mesquite::Linf(), TerminationCriterion::maxSquaredInitialMovement, TerminationCriterion::maxSquaredMovement, TerminationCriterion::mGrad, MSQ_DBGOUT, MSQ_ERRRTN, MSQ_SETERR, TerminationCriterion::mTimer, PatchData::num_vertices(), Mesquite::OF_FLAGS, TerminationCriterion::OFPtr, TerminationCriterion::previousOFValue, PatchData::recreate_vertices_memento(), Timer::reset(), TerminationCriterion::terminationCriterionFlag, TerminationCriterion::VERTEX_MOVEMENT_RELATIVE, and TerminationCriterion::vertexMovementExceedsBound.
Referenced by VertexMover::loop_over_mesh(), and TerminationCriterion::reset_outer().
void reset_outer | ( | MeshSet & | ms, |
ObjectiveFunction * | of, | ||
MsqError & | err | ||
) |
Clear any data accumulated during an outer iteration.
void reset_outer | ( | MeshSet & | ms, |
ObjectiveFunction * | obj_ptr, | ||
MsqError & | err | ||
) |
Clear any data accumulated during an outer iteration.
This version of reset is called using a MeshSet, which implies it is only called when this criterion is used as the 'outer' termination criterion.
Definition at line 228 of file Control/TerminationCriterion.cpp.
References TerminationCriterion::cullingMethodFlag, MeshSet::get_next_patch(), PatchData::GLOBAL_PATCH, Mesquite::GRAD_FLAGS, MSQ_ERRRTN, Mesquite::OF_FLAGS, TerminationCriterion::reset_inner(), PatchDataParameters::set_patch_type(), TerminationCriterion::terminationCriterionFlag, and TerminationCriterion::VERTEX_MOVEMENT_RELATIVE.
Referenced by VertexMover::loop_over_mesh().
Shared inner and outer initialization during inner loop.
Definition at line 362 of file Control/TerminationCriterion.cpp.
References PatchData::create_vertices_memento(), TerminationCriterion::cullingMethodFlag, MSQ_ERRRTN, TerminationCriterion::previousVerticesMemento, PatchData::recreate_vertices_memento(), TerminationCriterion::terminationCriterionFlag, TerminationCriterion::VERTEX_MOVEMENT_ABSOLUTE, and TerminationCriterion::VERTEX_MOVEMENT_RELATIVE.
Referenced by VertexMover::loop_over_mesh().
Shared inner and outer initialization during inner loop.
Sets the type of criterion that the user would like to use for culling purposes (along with the associated tolerance.
Function to add a type of termination criterion to this object which will be used for culling purposes only. As part of the global termination criterion, the outer criterion will also check to make sure that there are still free vertices in the mesh.
Definition at line 188 of file Control/TerminationCriterion.cpp.
References TerminationCriterion::cullingEps, TerminationCriterion::cullingMethodFlag, MsqError::INVALID_ARG, MSQ_SETERR, TerminationCriterion::QUALITY_IMPROVEMENT_ABSOLUTE, TerminationCriterion::QUALITY_IMPROVEMENT_RELATIVE, TerminationCriterion::SUCCESSIVE_IMPROVEMENTS_ABSOLUTE, TerminationCriterion::SUCCESSIVE_IMPROVEMENTS_RELATIVE, TerminationCriterion::VERTEX_MOVEMENT_ABSOLUTE, and TerminationCriterion::VERTEX_MOVEMENT_RELATIVE.
Sets the type of criterion that the user would like to use for culling purposes (along with the associated tolerance.
|
inline |
Definition at line 243 of file includeLinks/TerminationCriterion.hpp.
References TerminationCriterion::debugLevel, and i.
Referenced by VertexMover::loop_over_mesh().
|
inline |
Definition at line 243 of file src/Control/TerminationCriterion.hpp.
References TerminationCriterion::debugLevel, and i.
bool terminate | ( | ) |
Check if termination criterion has been met.
bool terminate | ( | ) |
Check if termination criterion has been met.
This function evaluates the needed information and then evaluates the termination criteria. If any of the selected criteria are satisfied, the function returns true. Otherwise, the function returns false.
Definition at line 493 of file Control/TerminationCriterion.cpp.
References TerminationCriterion::BOUNDED_VERTEX_MOVEMENT, TerminationCriterion::CPU_TIME, TerminationCriterion::currentGradInfNorm, TerminationCriterion::currentGradL2Norm, TerminationCriterion::currentOFValue, TerminationCriterion::debugLevel, TerminationCriterion::GRADIENT_INF_NORM_ABSOLUTE, TerminationCriterion::GRADIENT_INF_NORM_RELATIVE, TerminationCriterion::GRADIENT_L2_NORM_ABSOLUTE, TerminationCriterion::GRADIENT_L2_NORM_RELATIVE, TerminationCriterion::gradInfNormAbsoluteEps, TerminationCriterion::gradInfNormRelativeEps, TerminationCriterion::gradL2NormAbsoluteEps, TerminationCriterion::gradL2NormRelativeEps, TerminationCriterion::initialGradInfNorm, TerminationCriterion::initialGradL2Norm, TerminationCriterion::initialOFValue, MsqInterrupt::interrupt(), TerminationCriterion::iterationBound, TerminationCriterion::iterationCounter, TerminationCriterion::lowerOFBound, TerminationCriterion::maxSquaredInitialMovement, TerminationCriterion::maxSquaredMovement, MSQ_DBGOUT, TerminationCriterion::mTimer, TerminationCriterion::NUMBER_OF_ITERATES, TerminationCriterion::previousOFValue, TerminationCriterion::QUALITY_IMPROVEMENT_ABSOLUTE, TerminationCriterion::QUALITY_IMPROVEMENT_RELATIVE, TerminationCriterion::qualityImprovementAbsoluteEps, TerminationCriterion::qualityImprovementRelativeEps, Timer::since_birth(), sqrt(), TerminationCriterion::SUCCESSIVE_IMPROVEMENTS_ABSOLUTE, TerminationCriterion::SUCCESSIVE_IMPROVEMENTS_RELATIVE, TerminationCriterion::successiveImprovementsRelativeEps, TerminationCriterion::terminationCriterionFlag, TerminationCriterion::timeBound, TerminationCriterion::VERTEX_MOVEMENT_ABSOLUTE, TerminationCriterion::VERTEX_MOVEMENT_RELATIVE, TerminationCriterion::vertexMovementAbsoluteEps, TerminationCriterion::vertexMovementExceedsBound, and TerminationCriterion::vertexMovementRelativeEps.
Referenced by VertexMover::loop_over_mesh(), ConjugateGradient::optimize_vertex_positions(), SteepestDescent::optimize_vertex_positions(), and FeasibleNewton::optimize_vertex_positions().
|
private |
Definition at line 297 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::accumulate_patch(), TerminationCriterion::add_criterion_type_with_double(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 253 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::cull_vertices(), TerminationCriterion::set_culling_type(), and TerminationCriterion::TerminationCriterion().
|
private |
Bit flag of criterion for culling
Definition at line 251 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::cleanup(), TerminationCriterion::cull_vertices(), TerminationCriterion::remove_culling(), TerminationCriterion::reset_inner(), TerminationCriterion::reset_outer(), TerminationCriterion::reset_patch(), TerminationCriterion::set_culling_type(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 271 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::accumulate_inner(), TerminationCriterion::reset_inner(), and TerminationCriterion::terminate().
|
private |
Definition at line 267 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::accumulate_inner(), TerminationCriterion::reset_inner(), and TerminationCriterion::terminate().
|
private |
Definition at line 261 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::accumulate_inner(), TerminationCriterion::cull_vertices(), TerminationCriterion::get_current_function_value(), TerminationCriterion::reset_inner(), TerminationCriterion::terminate(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 300 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::accumulate_inner(), TerminationCriterion::reset_inner(), TerminationCriterion::set_debug_output_level(), and TerminationCriterion::terminate().
|
private |
Definition at line 272 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::add_criterion_type_with_double(), TerminationCriterion::terminate(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 273 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::add_criterion_type_with_double(), TerminationCriterion::terminate(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 268 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::add_criterion_type_with_double(), TerminationCriterion::terminate(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 269 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::add_criterion_type_with_double(), TerminationCriterion::terminate(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 270 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::reset_inner(), TerminationCriterion::terminate(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 266 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::reset_inner(), TerminationCriterion::terminate(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 259 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::cull_vertices(), TerminationCriterion::reset_inner(), TerminationCriterion::terminate(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 286 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::accumulate_inner(), TerminationCriterion::cleanup(), TerminationCriterion::cull_vertices(), and TerminationCriterion::reset_inner().
|
private |
Definition at line 280 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::add_criterion_type_with_int(), TerminationCriterion::terminate(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 281 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::accumulate_inner(), TerminationCriterion::reset_inner(), TerminationCriterion::terminate(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 262 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::cull_vertices(), TerminationCriterion::terminate(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 290 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::accumulate_inner(), TerminationCriterion::reset_inner(), and TerminationCriterion::terminate().
|
private |
Definition at line 291 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::accumulate_patch(), TerminationCriterion::reset_inner(), and TerminationCriterion::terminate().
|
private |
Definition at line 265 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::accumulate_inner(), and TerminationCriterion::reset_inner().
|
private |
Definition at line 283 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::reset_inner(), and TerminationCriterion::terminate().
|
private |
Definition at line 256 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::accumulate_inner(), and TerminationCriterion::reset_inner().
|
private |
Definition at line 260 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::accumulate_inner(), TerminationCriterion::reset_inner(), TerminationCriterion::terminate(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 287 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::accumulate_patch(), TerminationCriterion::cleanup(), TerminationCriterion::cull_vertices(), and TerminationCriterion::reset_patch().
|
private |
Definition at line 277 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::add_criterion_type_with_double(), TerminationCriterion::terminate(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 278 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::add_criterion_type_with_double(), TerminationCriterion::terminate(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 294 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::add_criterion_type_with_double(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 295 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::add_criterion_type_with_double(), TerminationCriterion::terminate(), and TerminationCriterion::TerminationCriterion().
|
private |
Bit flag of termination crit.
Definition at line 250 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::accumulate_inner(), TerminationCriterion::accumulate_outer(), TerminationCriterion::accumulate_patch(), TerminationCriterion::add_criterion_type_with_double(), TerminationCriterion::add_criterion_type_with_int(), TerminationCriterion::remove_criterion_type(), TerminationCriterion::reset_inner(), TerminationCriterion::reset_outer(), TerminationCriterion::reset_patch(), TerminationCriterion::terminate(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 284 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::add_criterion_type_with_double(), TerminationCriterion::terminate(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 288 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::add_criterion_type_with_double(), TerminationCriterion::terminate(), and TerminationCriterion::TerminationCriterion().
|
private |
Definition at line 298 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::accumulate_patch(), TerminationCriterion::reset_inner(), and TerminationCriterion::terminate().
|
private |
Definition at line 289 of file includeLinks/TerminationCriterion.hpp.
Referenced by TerminationCriterion::add_criterion_type_with_double(), TerminationCriterion::terminate(), and TerminationCriterion::TerminationCriterion().