Fluid structure interaction suite
ParsedTools::SymbolicFunction< dim > Class Template Reference

A wrapper for the Functions::SymbolicFunction class. More...

#include <symbolic_function.h>

Inheritance diagram for ParsedTools::SymbolicFunction< dim >:
[legend]

Public Member Functions

 SymbolicFunction (const std::string &section_name="", const std::string &expression="", const std::string &function_description="Function expression")
 Build a SymbolicFunction based on the ParameterAcceptor class. More...
 
 operator Functions::SymbolicFunction< dim > & ()
 Act as an actual Functions::SymbolicFunction, so that we can pass this object to any function that expects a Functions::Function object. More...
 
Functions::SymbolicFunction< dim > & operator() ()
 Act as an actual Functions::SymbolicFunction. More...
 
- Public Member Functions inherited from ParameterAcceptor
 ParameterAcceptor (const std::string &section_name="")
 
unsigned int get_acceptor_id () const
 
virtual ~ParameterAcceptor () override
 
virtual void declare_parameters (ParameterHandler &prm)
 
virtual void parse_parameters (ParameterHandler &prm)
 
std::string get_section_name () const
 
std::vector< std::string > get_section_path () const
 
void add_parameter (const std::string &entry, ParameterType &parameter, const std::string &documentation="", ParameterHandler &prm_=prm, const Patterns::PatternBase &pattern=*Patterns::Tools::Convert< ParameterType >::to_pattern())
 
void enter_subsection (const std::string &subsection)
 
void leave_subsection ()
 
void enter_my_subsection (ParameterHandler &prm)
 
void leave_my_subsection (ParameterHandler &prm)
 
void serialize (Archive &ar, const unsigned int version)
 
void subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
void unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
unsigned int n_subscriptions () const
 
void list_subscribers (StreamType &stream) const
 
void list_subscribers () const
 
void subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
void unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
unsigned int n_subscriptions () const
 
void list_subscribers (StreamType &stream) const
 
void list_subscribers () const
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
 Subscriptor (Subscriptor &&) noexcept
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
Subscriptoroperator= (Subscriptor &&) noexcept
 
void serialize (Archive &ar, const unsigned int version)
 
void subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
void unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
unsigned int n_subscriptions () const
 
void list_subscribers (StreamType &stream) const
 
void list_subscribers () const
 
void subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
void unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
unsigned int n_subscriptions () const
 
void list_subscribers (StreamType &stream) const
 
void list_subscribers () const
 

Private Attributes

std::unique_ptr< Functions::SymbolicFunction< dim > > symbolic_function
 The actual Functions::SymbolicFunction object. More...
 
const unsigned int n_components
 The number of components of the function. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ParameterAcceptor
static void initialize (const std::string &filename="", const std::string &output_filename="", const ParameterHandler::OutputStyle output_style_for_output_filename=ParameterHandler::Short, ParameterHandler &prm=ParameterAcceptor::prm, const ParameterHandler::OutputStyle output_style_for_filename=ParameterHandler::DefaultStyle)
 
static void initialize (std::istream &input_stream, ParameterHandler &prm=ParameterAcceptor::prm)
 
static void clear ()
 
static void parse_all_parameters (ParameterHandler &prm=ParameterAcceptor::prm)
 
static void declare_all_parameters (ParameterHandler &prm=ParameterAcceptor::prm)
 
static ::ExceptionBaseExcInUse (int arg1, std::string arg2, std::string arg3)
 
static ::ExceptionBaseExcNoSubscriber (std::string arg1, std::string arg2)
 
- Static Public Member Functions inherited from Subscriptor
static ::ExceptionBaseExcInUse (int arg1, std::string arg2, std::string arg3)
 
static ::ExceptionBaseExcNoSubscriber (std::string arg1, std::string arg2)
 
- Public Attributes inherited from ParameterAcceptor
boost::signals2::signal< void()> declare_parameters_call_back
 
boost::signals2::signal< void()> parse_parameters_call_back
 
- Static Public Attributes inherited from ParameterAcceptor
static ParameterHandler prm
 
- Protected Attributes inherited from ParameterAcceptor
const std::string section_name
 
std::vector< std::string > subsections
 

Detailed Description

template<int dim>
class ParsedTools::SymbolicFunction< dim >

A wrapper for the Functions::SymbolicFunction class.

Definition at line 165 of file symbolic_function.h.

Constructor & Destructor Documentation

◆ SymbolicFunction()

template<int dim>
ParsedTools::SymbolicFunction< dim >::SymbolicFunction ( const std::string &  section_name = "",
const std::string &  expression = "",
const std::string &  function_description = "Function expression" 
)

Build a SymbolicFunction based on the ParameterAcceptor class.

An example usage of this class is the following:

function","2*x+y"); auto value = my_function().value(some_point);
A wrapper for the Functions::SymbolicFunction class.

The above snippet of code will delcare the ParameterAcceptor::prm ParameterHandler with the following entries:

subsection RHS function
set Function expression = "2*x+y"
end

Definition at line 26 of file symbolic_function.cc.

References ParameterHandler::add_action(), ParameterAcceptor::add_parameter(), AssertThrow, ParameterAcceptor::enter_my_subsection(), StandardExceptions::ExcMessage(), ParameterAcceptor::leave_my_subsection(), ParsedTools::SymbolicFunction< dim >::n_components, ParameterAcceptor::prm, and ParsedTools::SymbolicFunction< dim >::symbolic_function.

Member Function Documentation

◆ operator Functions::SymbolicFunction< dim > &()

template<int dim>
ParsedTools::SymbolicFunction< dim >::operator Functions::SymbolicFunction< dim > & ( )
inline

Act as an actual Functions::SymbolicFunction, so that we can pass this object to any function that expects a Functions::Function object.

Definition at line 197 of file symbolic_function.h.

References ParsedTools::SymbolicFunction< dim >::symbolic_function.

◆ operator()()

template<int dim>
Functions::SymbolicFunction<dim>& ParsedTools::SymbolicFunction< dim >::operator() ( )
inline

Member Data Documentation

◆ symbolic_function

◆ n_components

template<int dim>
const unsigned int ParsedTools::SymbolicFunction< dim >::n_components
private

The number of components of the function.

This number is constructed from the expression given at construction time. If you reinitialize the function, make sure you use the same number of components, or an exception will be thrown.

Definition at line 223 of file symbolic_function.h.

Referenced by ParsedTools::SymbolicFunction< dim >::SymbolicFunction().


The documentation for this class was generated from the following files: