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. | |
| typedef std::shared_ptr< SymFunction > | SymFunctionPtr |
| Shorthand for an smart pointer to an autodiff function parser object. | |
Public Member Functions | |
| LevelSetMeshingHelper (const InputParameters ¶meters) | |
| void | setParserFeatureFlags (SymFunctionPtr &) const |
| apply input parameters to internal feature flags of the parser object | |
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. | |
| void | levelSetCorrection (Node &node) |
| Correct the position of a node based on the level set function. | |
| GenericReal< is_ad > | evaluate (SymFunctionPtr &, const std::string &object_name="") |
| Evaluate FParser object and check EvalError. | |
| GenericReal< is_ad > | evaluate (SymFunctionPtr &, const std::vector< GenericReal< is_ad > > &, const std::string &object_name="") |
| Evaluate FParser object and check EvalError. | |
| 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 | |
| virtual void | functionsOptimize (SymFunctionPtr &parsed_function) |
| run FPOptimizer on the parsed function | |
| 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. | |
Protected Attributes | |
| const unsigned int | _max_level_set_correction_iterations |
| Maximum number of iterations to correct the nodes based on the level set function. | |
| SymFunctionPtr | _func_level_set |
| function parser object describing the level set | |
| enum FunctionParserUtils::FailureMethod | _evalerror_behavior |
| const Real | _quiet_nan |
| appropriate not a number value to return | |
| std::vector< GenericReal< is_ad > > | _func_params |
| Array to stage the parameters passed to the functions when calling Eval. | |
| const Real | _epsilon |
| fuzzy comparison tolerance | |
| bool | _enable_jit |
| feature flags | |
| 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 | |
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
|
protectedinherited |
Evaluate FParser object and check EvalError.
|
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.
|
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 |
|
inherited |
apply input parameters to internal feature flags of the parser object
|
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.
|
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.
|
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.
|
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.