Finite Element Domain Decomposition Library
FEDDLib
Loading...
Searching...
No Matches
InputToOutputMappingClass_decl.hpp
1#ifndef InputToOutputMappingClass_DECL_hpp
2#define InputToOutputMappingClass_DECL_hpp
3
4#include "feddlib/core/FEDDCore.hpp"
5#include "feddlib/core/LinearAlgebra/MultiVector.hpp"
6
7namespace FEDD
8{
9
34 template <class SC = default_sc, class LO = default_lo, class GO = default_go, class NO = default_no>
36 {
37 public:
38 typedef MultiVector<SC, LO, GO, NO> MultiVector_Type;
39 typedef Teuchos::RCP<MultiVector_Type> MultiVectorPtr_Type;
40 typedef Teuchos::RCP<const MultiVector_Type> MultiVectorConstPtr_Type;
47 virtual void evaluateMapping(ParameterListPtr_Type params, MultiVectorConstPtr_Type input, MultiVectorPtr_Type &output) = 0;
48
55 virtual void evaluateDerivative(ParameterListPtr_Type params, MultiVectorConstPtr_Type x, MultiVectorPtr_Type &res) = 0;
56
57 // Consider also specific case where we only have ONE INPUT and ONE Output
65 virtual void evaluateMapping(ParameterListPtr_Type params, double x, double &res) = 0;
66
73 virtual void evaluateDerivative(ParameterListPtr_Type params, double x, double &res) = 0;
74
80 virtual void setParams(ParameterListPtr_Type params) = 0;
81
85 virtual void echoInformationMapping() = 0;
86
91 virtual void updateParams(ParameterListPtr_Type params);
92
93 protected:
98 InputToOutputMappingClass(ParameterListPtr_Type parameters);
99
100 ParameterListPtr_Type params_;
101 };
102}
103#endif
virtual void setParams(ParameterListPtr_Type params)=0
Function could include different parameters which will be specified in *.xml This function should set...
virtual void evaluateMapping(ParameterListPtr_Type params, double x, double &res)=0
Implements a functional description for evaluating res in dependence of given dependent variables and...
virtual void updateParams(ParameterListPtr_Type params)
Set or update the parameters read from the ParameterList.
Definition InputToOutputMappingClass_def.hpp:18
virtual void evaluateMapping(ParameterListPtr_Type params, MultiVectorConstPtr_Type input, MultiVectorPtr_Type &output)=0
Implement a mapping for evaluating output in dependence of given input and specified parameters for M...
InputToOutputMappingClass(ParameterListPtr_Type parameters)
Constructor.
Definition InputToOutputMappingClass_def.hpp:10
virtual void echoInformationMapping()=0
Print e.g. parameter values used in model at runtime or problem specific.
virtual void evaluateDerivative(ParameterListPtr_Type params, MultiVectorConstPtr_Type x, MultiVectorPtr_Type &res)=0
Computes value of derivative of defined function in evaluateMapping - could be derivative of output w...
virtual void evaluateDerivative(ParameterListPtr_Type params, double x, double &res)=0
Computes value of derivative of defined function in evaluateMapping specific.
Definition MultiVector_decl.hpp:36
Adaptive Mesh Refinement.
Definition AdaptiveMeshRefinement.cpp:5