Finite Element Domain Decomposition Library
FEDDLib
Loading...
Searching...
No Matches
FEDD::DifferentiableFuncClass< SC, LO, GO, NO > Class Template Referenceabstract

This abstract class is derived from the abstract class of general input to output mapping. It is defining the general concepts of a function and computing function evaluation and evaluation of its derivative. More...

#include <DifferentiableFuncClass_decl.hpp>

Inheritance diagram for FEDD::DifferentiableFuncClass< SC, LO, GO, NO >:

Public Types

typedef MultiVector< SC, LO, GO, NO > MultiVector_Type
 
typedef Teuchos::RCP< MultiVector_TypeMultiVectorPtr_Type
 
typedef Teuchos::RCP< const MultiVector_TypeMultiVectorConstPtr_Type
 
- Public Types inherited from FEDD::InputToOutputMappingClass< default_sc, default_lo, default_go, default_no >
typedef MultiVector< default_sc, default_lo, default_go, default_no > MultiVector_Type
 
typedef Teuchos::RCP< MultiVector_TypeMultiVectorPtr_Type
 
typedef Teuchos::RCP< const MultiVector_TypeMultiVectorConstPtr_Type
 

Public Member Functions

virtual void evaluateMapping (ParameterListPtr_Type params, MultiVectorConstPtr_Type input, MultiVectorPtr_Type &output) override
 Implement a mapping for evaluating output in dependence of given input and specified parameters for MultiVectorPtr_Type inputs/ outputs.
 
virtual void evaluateDerivative (ParameterListPtr_Type params, MultiVectorConstPtr_Type x, MultiVectorPtr_Type &res) override
 Computes value of derivative of defined function in evaluateMapping.
 
virtual void setParams (ParameterListPtr_Type params) override=0
 Function could include different parameters which will be specified in *.xml This function should set the needed parameters for defined function to the specified values.
 
virtual void echoInformationMapping () override=0
 Print parameter values used in model at runtime.
 
virtual void evaluateMapping (ParameterListPtr_Type params, double x, double &res) override=0
 Implements a functional description for evaluating res in dependence of given dependent variables and specified parameters.
 
virtual void evaluateDerivative (ParameterListPtr_Type params, double x, double &res) override=0
 Computes value of derivative of defined function in evaluateMapping.
 
- Public Member Functions inherited from FEDD::InputToOutputMappingClass< default_sc, default_lo, default_go, default_no >
virtual void updateParams (ParameterListPtr_Type params)
 Set or update the parameters read from the ParameterList.
 

Protected Member Functions

 DifferentiableFuncClass (ParameterListPtr_Type parameters)
 Constructor.
 
- Protected Member Functions inherited from FEDD::InputToOutputMappingClass< default_sc, default_lo, default_go, default_no >
 InputToOutputMappingClass (ParameterListPtr_Type parameters)
 Constructor.
 

Protected Attributes

ParameterListPtr_Type params_
 
- Protected Attributes inherited from FEDD::InputToOutputMappingClass< default_sc, default_lo, default_go, default_no >
ParameterListPtr_Type params_
 

Detailed Description

template<class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
class FEDD::DifferentiableFuncClass< SC, LO, GO, NO >

This abstract class is derived from the abstract class of general input to output mapping. It is defining the general concepts of a function and computing function evaluation and evaluation of its derivative.

Template Parameters
SCThe scalar type. So far, this is always double, but having it as a template parameter would allow flexibily, e.g., for using complex instead
LOThe local ordinal type. The is the index type for local indices
GOThe global ordinal type. The is the index type for global indices
Todo
This should actually be removed since the class should operate only on element level)
Template Parameters
NOThe Kokkos Node type. This would allow for performance portibility when using Kokkos. Currently, this is not used.

The material parameters can be provided through a Teuchos::ParameterList object which will contain all the parameters specified in the input file ABC.xml. The structure of the input file and, hence, of the resulting parameter list can be chosen freely. The FEDDLib will take care of reading the parameters from the file and making them available.

Constructor & Destructor Documentation

◆ DifferentiableFuncClass()

template<class SC, class LO, class GO, class NO>
FEDD::DifferentiableFuncClass< SC, LO, GO, NO >::DifferentiableFuncClass ( ParameterListPtr_Type parameters)
protected

Constructor.

Parameters
[in]paramsParameterlist for current problem
Here is the call graph for this function:

Member Function Documentation

◆ echoInformationMapping()

template<class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
virtual void FEDD::DifferentiableFuncClass< SC, LO, GO, NO >::echoInformationMapping ( )
overridepure virtual

◆ evaluateDerivative() [1/2]

template<class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
virtual void FEDD::DifferentiableFuncClass< SC, LO, GO, NO >::evaluateDerivative ( ParameterListPtr_Type params,
double x,
double & res )
overridepure virtual

Computes value of derivative of defined function in evaluateMapping.

Parameters
[in]paramsParameterlist as read from the xml file (maybe redundant)
[in]xIndependent variable
[in,out]resDependent variable

Implements FEDD::InputToOutputMappingClass< default_sc, default_lo, default_go, default_no >.

Implemented in FEDD::CarreauYasuda< SC, LO, GO, NO >, FEDD::Dimless_Carreau< SC, LO, GO, NO >, and FEDD::PowerLaw< SC, LO, GO, NO >.

◆ evaluateDerivative() [2/2]

template<class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
virtual void FEDD::DifferentiableFuncClass< SC, LO, GO, NO >::evaluateDerivative ( ParameterListPtr_Type params,
MultiVectorConstPtr_Type x,
MultiVectorPtr_Type & res )
inlineoverridevirtual

Computes value of derivative of defined function in evaluateMapping.

Parameters
[in]paramsParameterlist as read from the xml file (maybe redundant)
[in]xIndependent variable
[in,out]resDependent variable

Implements FEDD::InputToOutputMappingClass< default_sc, default_lo, default_go, default_no >.

◆ evaluateMapping() [1/2]

template<class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
virtual void FEDD::DifferentiableFuncClass< SC, LO, GO, NO >::evaluateMapping ( ParameterListPtr_Type params,
double x,
double & res )
overridepure virtual

Implements a functional description for evaluating res in dependence of given dependent variables and specified parameters.

Parameters
[in]paramsParameterlist as read from the xml file (maybe redundant)
[in]xIndependent variable
[in,out]resDependent variable

Implements FEDD::InputToOutputMappingClass< default_sc, default_lo, default_go, default_no >.

Implemented in FEDD::CarreauYasuda< SC, LO, GO, NO >, FEDD::Dimless_Carreau< SC, LO, GO, NO >, and FEDD::PowerLaw< SC, LO, GO, NO >.

◆ evaluateMapping() [2/2]

template<class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
virtual void FEDD::DifferentiableFuncClass< SC, LO, GO, NO >::evaluateMapping ( ParameterListPtr_Type params,
MultiVectorConstPtr_Type input,
MultiVectorPtr_Type & output )
inlineoverridevirtual

Implement a mapping for evaluating output in dependence of given input and specified parameters for MultiVectorPtr_Type inputs/ outputs.

Parameters
[in]paramsParameterlist as read from the xml file (maybe redundant)
[in]xinput
[in,out]resoutput

Implements FEDD::InputToOutputMappingClass< default_sc, default_lo, default_go, default_no >.

◆ setParams()

template<class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
virtual void FEDD::DifferentiableFuncClass< SC, LO, GO, NO >::setParams ( ParameterListPtr_Type params)
overridepure virtual

Function could include different parameters which will be specified in *.xml This function should set the needed parameters for defined function to the specified values.

Parameters
[in]ParameterListas read from the xml file (maybe redundant)

Implements FEDD::InputToOutputMappingClass< default_sc, default_lo, default_go, default_no >.

Implemented in FEDD::CarreauYasuda< SC, LO, GO, NO >, FEDD::Dimless_Carreau< SC, LO, GO, NO >, and FEDD::PowerLaw< SC, LO, GO, NO >.


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