20#ifndef LIBMESH_PARSED_FUNCTION_PARAMETER_H
21#define LIBMESH_PARSED_FUNCTION_PARAMETER_H
25#include "libmesh/libmesh_common.h"
26#include "libmesh/parameter_accessor.h"
27#include "libmesh/parsed_function.h"
47template <
typename T=Number>
63 std::string param_name) :
75 virtual void set (
const T & new_value)
override {
82 virtual const T &
get ()
const override {
90 virtual std::unique_ptr<ParameterAccessor<T>>
clone()
const override {
91 return std::make_unique<ParsedFunctionParameter<T>>(
_func,
_name);
Accessor object allowing reading and modification of the independent variables in a parameter sensiti...
Accessor object allowing reading and modification of the independent variables in a parameter sensiti...
ParsedFunction< T > & _func
virtual void set(const T &new_value) override
Setter: change the value of the parameter we access.
libMesh::Number _current_val
virtual ParameterAccessor< T > & operator=(T *)
A simple reseater won't work with a parsed function.
virtual std::unique_ptr< ParameterAccessor< T > > clone() const override
ParsedFunctionParameter(ParsedFunction< T > &func_ref, std::string param_name)
Constructor: take the function to be modified and the name of the inline variable within it which rep...
virtual const T & get() const override
Getter: get the value of the parameter we access.
A Function generated (via FParser) by parsing a mathematical expression.
The libMesh namespace provides an interface to certain functionality in the library.