Stores a pointer to a ParsedFEMFunction and a string for the parameter. More...
#include <parsed_fem_function_parameter.h>
Public Member Functions | |
ParsedFEMFunctionParameter (ParsedFEMFunction< T > &func_ref, const std::string ¶m_name) | |
virtual ParameterAccessor< T > & | operator= (T *) |
virtual void | set (const T &new_value) |
virtual const T & | get () const |
virtual std::unique_ptr< ParameterAccessor< T > > | clone () const |
ParameterProxy< T > | operator* () |
ConstParameterProxy< T > | operator* () const |
Private Attributes | |
ParsedFEMFunction< T > & | _func |
std::string | _name |
libMesh::Number | _current_val |
Stores a pointer to a ParsedFEMFunction and a string for the parameter.
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 47 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 61 of file parsed_fem_function_parameter.h.
|
inlinevirtual |
Implements libMesh::ParameterAccessor< T >.
Definition at line 89 of file parsed_fem_function_parameter.h.
References libMesh::ParsedFEMFunctionParameter< T >::_func, and libMesh::ParsedFEMFunctionParameter< T >::_name.
|
inlinevirtual |
Implements libMesh::ParameterAccessor< T >.
Definition at line 81 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 91 of file parameter_accessor.h.
|
inlineinherited |
Definition at line 93 of file parameter_accessor.h.
|
inlinevirtual |
A simple reseater won't work with a parsed function.
Reimplemented from libMesh::ParameterAccessor< T >.
Definition at line 69 of file parsed_fem_function_parameter.h.
|
inlinevirtual |
Setter: change the value of the parameter we access.
Implements libMesh::ParameterAccessor< T >.
Definition at line 74 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 101 of file parsed_fem_function_parameter.h.
Referenced by libMesh::ParsedFEMFunctionParameter< T >::get().
|
private |
Definition at line 95 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 96 of file parsed_fem_function_parameter.h.
Referenced by libMesh::ParsedFEMFunctionParameter< T >::clone(), libMesh::ParsedFEMFunctionParameter< T >::get(), and libMesh::ParsedFEMFunctionParameter< T >::set().