libMesh
|
Accessor object allowing reading and modification of the independent variables in a parameter sensitivity calculation. More...
#include <parsed_fem_function_parameter.h>
Public Member Functions | |
ParsedFEMFunctionParameter (ParsedFEMFunction< T > &func_ref, std::string param_name) | |
Constructor: take the function to be modified and the name of the inline variable within it which represents our parameter. More... | |
virtual ParameterAccessor< T > & | operator= (T *) |
A simple reseater won't work with a parsed function. More... | |
virtual void | set (const T &new_value) override |
Setter: change the value of the parameter we access. More... | |
virtual const T & | get () const override |
virtual std::unique_ptr< ParameterAccessor< T > > | clone () const override |
ParameterProxy< T > | operator* () |
Proxy: for backward compatibility, we allow codes to treat a ParameterAccessor as if it were a simple pointer-to-value. More... | |
ConstParameterProxy< T > | operator* () const |
Private Attributes | |
ParsedFEMFunction< T > & | _func |
std::string | _name |
libMesh::Number | _current_val |
Accessor object allowing reading and modification of the independent variables in a parameter sensitivity calculation.
This ParameterAccessor subclass is specific to ParsedFEMFunction objects: it stores a pointer to the ParsedFEMFunction and a string describing the parameter (an inline variable) name to be accessed.
Definition at line 50 of file parsed_fem_function_parameter.h.
|
inline |
Constructor: take the function to be modified and the name of the inline variable within it which represents our parameter.
The restrictions of get_inline_value() and set_inline_value() in ParsedFEMFunction apply to this interface as well.
Definition at line 64 of file parsed_fem_function_parameter.h.
|
inlineoverridevirtual |
Implements libMesh::ParameterAccessor< T >.
Definition at line 92 of file parsed_fem_function_parameter.h.
References libMesh::ParsedFEMFunctionParameter< T >::_func, and libMesh::ParsedFEMFunctionParameter< T >::_name.
|
inlineoverridevirtual |
Implements libMesh::ParameterAccessor< T >.
Definition at line 84 of file parsed_fem_function_parameter.h.
References libMesh::ParsedFEMFunctionParameter< T >::_current_val, libMesh::ParsedFEMFunctionParameter< T >::_func, libMesh::ParsedFEMFunctionParameter< T >::_name, and libMesh::ParsedFEMFunction< Output >::get_inline_value().
|
inlineinherited |
Proxy: for backward compatibility, we allow codes to treat a ParameterAccessor as if it were a simple pointer-to-value.
We can't safely allow "Number * n = parameter_vector[p]" to compile, but we can allow "*parameter_vector[p] += deltap" to work.
Definition at line 80 of file parameter_accessor.h.
|
inlineinherited |
Definition at line 82 of file parameter_accessor.h.
|
inlinevirtual |
A simple reseater won't work with a parsed function.
Definition at line 72 of file parsed_fem_function_parameter.h.
|
inlineoverridevirtual |
Setter: change the value of the parameter we access.
Implements libMesh::ParameterAccessor< T >.
Definition at line 77 of file parsed_fem_function_parameter.h.
References libMesh::ParsedFEMFunctionParameter< T >::_func, libMesh::ParsedFEMFunctionParameter< T >::_name, and libMesh::ParsedFEMFunction< Output >::set_inline_value().
|
mutableprivate |
Definition at line 103 of file parsed_fem_function_parameter.h.
Referenced by libMesh::ParsedFEMFunctionParameter< T >::get().
|
private |
Definition at line 97 of file parsed_fem_function_parameter.h.
Referenced by libMesh::ParsedFEMFunctionParameter< T >::clone(), libMesh::ParsedFEMFunctionParameter< T >::get(), and libMesh::ParsedFEMFunctionParameter< T >::set().
|
private |
Definition at line 98 of file parsed_fem_function_parameter.h.
Referenced by libMesh::ParsedFEMFunctionParameter< T >::clone(), libMesh::ParsedFEMFunctionParameter< T >::get(), and libMesh::ParsedFEMFunctionParameter< T >::set().