Helper class to define, parameterize and create a level set function used in meshing, often to correct the position of nodes on a surface. More...
#include <LevelSetMeshingHelper.h>
Public Types | |
| typedef GenericSymFunction< is_ad > | SymFunction |
| Shorthand for an autodiff function parser object. More... | |
| typedef std::shared_ptr< SymFunction > | SymFunctionPtr |
| Shorthand for an smart pointer to an autodiff function parser object. More... | |
Public Member Functions | |
| LevelSetMeshingHelper (const InputParameters ¶meters) | |
| void | setParserFeatureFlags (SymFunctionPtr &) const |
| apply input parameters to internal feature flags of the parser object More... | |
Static Public Member Functions | |
| static InputParameters | validParams () |
Protected Types | |
| enum | FailureMethod |
| Enum for failure method. More... | |
Protected Member Functions | |
| Real | levelSetEvaluator (const Point &point) |
| Evaluate the level set function at a given point. More... | |
| void | levelSetCorrection (Node &node) |
| Correct the position of a node based on the level set function. More... | |
| GenericReal< is_ad > | evaluate (SymFunctionPtr &, const std::string &object_name="") |
| Evaluate FParser object and check EvalError. More... | |
| GenericReal< is_ad > | evaluate (SymFunctionPtr &, const std::vector< GenericReal< is_ad >> &, const std::string &object_name="") |
| Evaluate FParser object and check EvalError. More... | |
| void | addFParserConstants (SymFunctionPtr &parser, const std::vector< std::string > &constant_names, const std::vector< std::string > &constant_expressions) const |
| add constants (which can be complex expressions) to the parser object More... | |
| virtual void | functionsOptimize (SymFunctionPtr &parsed_function) |
| run FPOptimizer on the parsed function More... | |
| void | functionsOptimize (SymFunctionPtr &parsed_function) |
| void | functionsOptimize (SymFunctionPtr &parsed_function) |
| void | parsedFunctionSetup (SymFunctionPtr &function, const std::string &expression, const std::string &variables, const std::vector< std::string > &constant_names, const std::vector< std::string > &constant_expressions, const libMesh::Parallel::Communicator &comm) const |
| Performs setup steps on a SymFunction. More... | |
Protected Attributes | |
| const unsigned int | _max_level_set_correction_iterations |
| Maximum number of iterations to correct the nodes based on the level set function. More... | |
| SymFunctionPtr | _func_level_set |
| function parser object describing the level set More... | |
| enum FunctionParserUtils::FailureMethod | _evalerror_behavior |
| const Real | _quiet_nan |
| appropriate not a number value to return More... | |
| std::vector< GenericReal< is_ad > > | _func_params |
| Array to stage the parameters passed to the functions when calling Eval. More... | |
| const Real | _epsilon |
| fuzzy comparison tolerance More... | |
| bool | _enable_jit |
| feature flags More... | |
| bool | _enable_ad_cache |
| bool | _disable_fpoptimizer |
| bool | _enable_auto_optimize |
Static Protected Attributes | |
| static const char * | _eval_error_msg [] |
| table of FParser eval error codes More... | |
Helper class to define, parameterize and create a level set function used in meshing, often to correct the position of nodes on a surface.
Definition at line 19 of file LevelSetMeshingHelper.h.
|
inherited |
Shorthand for an autodiff function parser object.
Definition at line 62 of file FunctionParserUtils.h.
|
inherited |
Shorthand for an smart pointer to an autodiff function parser object.
Definition at line 65 of file FunctionParserUtils.h.
|
strongprotectedinherited |
Enum for failure method.
Definition at line 116 of file FunctionParserUtils.h.
| LevelSetMeshingHelper::LevelSetMeshingHelper | ( | const InputParameters & | parameters | ) |
Definition at line 31 of file LevelSetMeshingHelper.C.
|
protectedinherited |
add constants (which can be complex expressions) to the parser object
Definition at line 153 of file FunctionParserUtils.C.
Referenced by LevelSetMeshingHelper(), ParsedCurveGenerator::ParsedCurveGenerator(), and ParsedODEKernel::ParsedODEKernel().
|
protectedinherited |
Evaluate FParser object and check EvalError.
Definition at line 87 of file FunctionParserUtils.C.
Referenced by ParsedSubdomainIDsGenerator::assignElemSubdomainID(), ParsedSubdomainMeshGenerator::assignElemSubdomainID(), ParsedConvergence::checkConvergence(), ParsedODEKernel::computeQpJacobian(), ParsedODEKernel::computeQpOffDiagJacobianScalar(), ParsedODEKernel::computeQpResidual(), ParsedVectorAux::computeValue(), ParsedAux::computeValue(), ArrayParsedAux::computeValue(), ParsedScalarReporter::finalize(), ParsedVectorReporter::finalize(), ParsedVectorRealReductionReporter::finalize(), ParsedVectorVectorRealReductionReporter::finalize(), ParsedPostprocessor::finalize(), ParsedExtraElementIDGenerator::generate(), ParsedGenerateNodeset::generate(), ParsedNodeTransformGenerator::generate(), ParsedCurveGenerator::generate(), ParsedGenerateSideset::generate(), ParsedDownSelectionPositions::initialize(), levelSetEvaluator(), ProjectSideSetOntoLevelSetGenerator::levelSetEvaluator(), CutMeshByLevelSetGeneratorBase::levelSetEvaluator(), ParsedCurveGenerator::pointCalculator(), ParsedElementDeletionGenerator::shouldDelete(), and SolutionUserObject::solutionSampleTime().
|
protectedinherited |
Evaluate FParser object and check EvalError.
This version uses a supplied vector of function parameters, which is useful if an object uses more than one parsed function, which may have different function parameter values.
Definition at line 94 of file FunctionParserUtils.C.
|
protectedvirtualinherited |
run FPOptimizer on the parsed function
|
protectedinherited |
|
protectedinherited |
Definition at line 211 of file FunctionParserUtils.C.
|
protected |
Correct the position of a node based on the level set function.
| node | The node to be corrected |
Definition at line 61 of file LevelSetMeshingHelper.C.
Referenced by Boundary2DDelaunayGenerator::General2DDelaunay(), and SurfaceSubdomainsDelaunayRemesher::General2DDelaunay().
|
protected |
Evaluate the level set function at a given point.
| point | The point at which the level set function is to be evaluated |
Definition at line 55 of file LevelSetMeshingHelper.C.
Referenced by Boundary2DDelaunayGenerator::General2DDelaunay(), SurfaceSubdomainsDelaunayRemesher::General2DDelaunay(), and levelSetCorrection().
|
protectedinherited |
Performs setup steps on a SymFunction.
| function | reference to pointer to the function to set up |
| expression | expression to parse |
| variables | comma separated string holding all the variables of the expression |
| constant_names | vector of names (symbols) of constants in the expression |
| constant_expressions | vectors of expressions (=values) of constants in the expression |
| comm | communicator used to stagger JIT file creations |
Definition at line 228 of file FunctionParserUtils.C.
Referenced by ArrayParsedAux::ArrayParsedAux(), CutMeshByLevelSetGenerator::CutMeshByLevelSetGenerator(), ParsedSubdomainGeneratorBase::functionInitialize(), ParsedConvergence::makeParsedFunction(), ParsedElementDeletionGenerator::ParsedElementDeletionGenerator(), ParsedExtraElementIDGenerator::ParsedExtraElementIDGenerator(), ParsedGenerateNodeset::ParsedGenerateNodeset(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedNodeTransformGenerator::ParsedNodeTransformGenerator(), ParsedPostprocessor::ParsedPostprocessor(), ParsedReporterBase::ParsedReporterBase(), ProjectSideSetOntoLevelSetGenerator::ProjectSideSetOntoLevelSetGenerator(), and SolutionUserObject::SolutionUserObject().
|
inherited |
apply input parameters to internal feature flags of the parser object
Definition at line 79 of file FunctionParserUtils.C.
Referenced by CutMeshByPlaneGenerator::CutMeshByPlaneGenerator(), LevelSetMeshingHelper(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedODEKernel::ParsedODEKernel(), and TransfiniteMeshGenerator::TransfiniteMeshGenerator().
|
static |
Definition at line 13 of file LevelSetMeshingHelper.C.
Referenced by Boundary2DDelaunayGenerator::validParams(), and SurfaceSubdomainsDelaunayRemesher::validParams().
|
protectedinherited |
Definition at line 111 of file FunctionParserUtils.h.
Referenced by ParsedODEKernel::ParsedODEKernel().
|
protectedinherited |
Definition at line 110 of file FunctionParserUtils.h.
|
protectedinherited |
Definition at line 112 of file FunctionParserUtils.h.
|
protectedinherited |
feature flags
Definition at line 109 of file FunctionParserUtils.h.
Referenced by ParsedODEKernel::ParsedODEKernel().
|
protectedinherited |
fuzzy comparison tolerance
Definition at line 128 of file FunctionParserUtils.h.
|
staticprotectedinherited |
table of FParser eval error codes
Definition at line 122 of file FunctionParserUtils.h.
|
protectedinherited |
|
protected |
function parser object describing the level set
Definition at line 31 of file LevelSetMeshingHelper.h.
Referenced by Boundary2DDelaunayGenerator::General2DDelaunay(), SurfaceSubdomainsDelaunayRemesher::General2DDelaunay(), levelSetEvaluator(), and LevelSetMeshingHelper().
|
protectedinherited |
Array to stage the parameters passed to the functions when calling Eval.
Definition at line 125 of file FunctionParserUtils.h.
Referenced by ArrayParsedAux::ArrayParsedAux(), ParsedSubdomainIDsGenerator::assignElemSubdomainID(), ParsedSubdomainMeshGenerator::assignElemSubdomainID(), ParsedVectorAux::computeValue(), ArrayParsedAux::computeValue(), ParsedAux::computeValue(), CutMeshByLevelSetGenerator::CutMeshByLevelSetGenerator(), CutMeshByPlaneGenerator::CutMeshByPlaneGenerator(), ParsedScalarReporter::finalize(), ParsedVectorRealReductionReporter::finalize(), ParsedVectorReporter::finalize(), ParsedVectorVectorRealReductionReporter::finalize(), ParsedPostprocessor::finalize(), ParsedSubdomainGeneratorBase::functionInitialize(), ParsedExtraElementIDGenerator::generate(), ParsedGenerateNodeset::generate(), ParsedCurveGenerator::generate(), ParsedNodeTransformGenerator::generate(), ParsedGenerateSideset::generate(), ParsedDownSelectionPositions::initialize(), ProjectSideSetOntoLevelSetGenerator::levelSetEvaluator(), CutMeshByLevelSetGeneratorBase::levelSetEvaluator(), LevelSetMeshingHelper(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedElementDeletionGenerator::ParsedElementDeletionGenerator(), ParsedExtraElementIDGenerator::ParsedExtraElementIDGenerator(), ParsedGenerateNodeset::ParsedGenerateNodeset(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedNodeTransformGenerator::ParsedNodeTransformGenerator(), ParsedODEKernel::ParsedODEKernel(), ParsedPostprocessor::ParsedPostprocessor(), ParsedReporterBase::ParsedReporterBase(), ParsedCurveGenerator::pointCalculator(), ProjectSideSetOntoLevelSetGenerator::ProjectSideSetOntoLevelSetGenerator(), ParsedElementDeletionGenerator::shouldDelete(), SolutionUserObject::solutionSampleTime(), SolutionUserObject::SolutionUserObject(), TransfiniteMeshGenerator::TransfiniteMeshGenerator(), and ParsedODEKernel::updateParams().
|
protected |
Maximum number of iterations to correct the nodes based on the level set function.
Definition at line 28 of file LevelSetMeshingHelper.h.
Referenced by Boundary2DDelaunayGenerator::General2DDelaunay(), and SurfaceSubdomainsDelaunayRemesher::General2DDelaunay().
|
protectedinherited |
appropriate not a number value to return
Definition at line 119 of file FunctionParserUtils.h.
1.8.14