NeoPZ
Public Member Functions | List of all members
TPZFunction< TVar > Class Template Reference

Implements a function. Utility. More...

#include <pzfunction.h>

Inheritance diagram for TPZFunction< TVar >:
[legend]
Collaboration diagram for TPZFunction< TVar >:
[legend]

Public Member Functions

 TPZFunction ()
 Class constructor. More...
 
 ~TPZFunction ()
 Class destructor. More...
 
virtual void Execute (const TPZVec< REAL > &x, TPZVec< TVar > &f, TPZFMatrix< TVar > &df)
 Performs function computation. More...
 
virtual void Execute (const TPZVec< REAL > &x, REAL time, TPZVec< TVar > &f, TPZFMatrix< TVar > &gradf)
 Performs time dependent function computation. More...
 
virtual void Execute (const TPZVec< REAL > &x, const TPZFMatrix< REAL > &axes, TPZVec< TVar > &f, TPZFMatrix< TVar > &df)
 Execute method receiving axes. It is used in shape functions. More...
 
virtual void Execute (const TPZVec< REAL > &x, TPZVec< TVar > &f)
 Simpler version of Execute method which does not compute function derivatives. More...
 
virtual int PolynomialOrder () const
 Polynomial order of this function. In case of non-polynomial function it can be a reasonable approximation order. More...
 
virtual int NFunctions () const
 number of values returned by this function More...
 
virtual void Print (std::ostream &out)
 Print a brief statement. More...
 
int ClassId () const override
 Define the class id associated with the class. More...
 
void Write (TPZStream &buf, int withclassid) const override
 Writes this object to the TPZStream buffer. Include the classid if withclassid = true. More...
 
void Read (TPZStream &buf, void *context) override
 read objects from the stream More...
 
- Public Member Functions inherited from TPZSavable
 TPZSavable ()
 
virtual ~TPZSavable ()
 
virtual std::list< std::map< std::string, uint64_t > > VersionHistory () const
 
virtual std::pair< std::string, uint64_t > Version () const
 
virtual bool Compare (TPZSavable *copy, bool override=false)
 Compares the object for identity with the object pointed to, eventually copy the object. More...
 
virtual bool Compare (TPZSavable *copy, bool override=false) const
 Compares the object for identity with the object pointed to, eventually copy the object. More...
 
- Public Member Functions inherited from TPZRegisterClassId
template<typename T >
 TPZRegisterClassId (int(T::*)() const)
 
 TPZRegisterClassId ()=default
 

Additional Inherited Members

- Static Public Member Functions inherited from TPZSavable
static std::set< TPZRestoreClassBase * > & RestoreClassSet ()
 This static function guarantees that the gMap object is available when needed. More...
 
static std::map< int, TPZRestore_t > & ClassIdMap ()
 This static function guarantees that the gMap object is available when needed. More...
 
static std::pair< std::string, uint64_t > NeoPZVersion ()
 
static void Register (TPZRestoreClassBase *restore)
 
static void RegisterClassId (int classid, TPZRestore_t fun)
 
static TPZSavableCreateInstance (const int &classId)
 

Detailed Description

template<class TVar>
class TPZFunction< TVar >

Implements a function. Utility.

Note
Its purpose is to replace void* fp() instances which are difficult to be transmitted in parallel executions.
Since
August 01, 2007

Definition at line 19 of file pzfunction.h.

Constructor & Destructor Documentation

◆ TPZFunction()

template<class TVar>
TPZFunction< TVar >::TPZFunction ( )
inline

Class constructor.

Definition at line 23 of file pzfunction.h.

◆ ~TPZFunction()

template<class TVar>
TPZFunction< TVar >::~TPZFunction ( )
inline

Class destructor.

Definition at line 28 of file pzfunction.h.

Member Function Documentation

◆ ClassId()

template<class TVar >
int TPZFunction< TVar >::ClassId ( ) const
overridevirtual

Define the class id associated with the class.

This id has to be unique for all classes A non unique id is flagged at the startup of the program

Implements TPZSavable.

Reimplemented in TPZDummyFunction< TVar >.

Definition at line 95 of file pzfunction.h.

Referenced by TPZMeshSolution::ClassId(), TPZDummyFunction< TVar >::ClassId(), TPZDummyFunction< TVar >::PolynomialOrder(), and TPZFunction< STATE >::Print().

◆ Execute() [1/4]

template<class TVar>
virtual void TPZFunction< TVar >::Execute ( const TPZVec< REAL > &  x,
TPZVec< TVar > &  f,
TPZFMatrix< TVar > &  df 
)
inlinevirtual

Performs function computation.

Parameters
xpoint coordinate which is suppose to be in real coordinate system but can be in master coordinate system in derived classes.
ffunction values
dffunction derivatives

Reimplemented in ForceFunction, TPZDummyFunction< TVar >, TPZAnalyticSolution::TExactState, TPZGradient, TPZAnalyticSolution::Tensor, TPZMeshSolution, and TPZAnalyticSolution::TForce.

Definition at line 38 of file pzfunction.h.

Referenced by TPZCompElDisc::AppendExternalShapeFunctions(), TPZMultiphase::ApplyPN(), TPZHierarquicalGrid::ComputeExtrusion(), TPZMatLaplacian::ComputeSquareResidual(), TPZMatPoisson3d::ComputeSquareResidual(), TPZMatHybrid::Contribute(), TPZPlaca::Contribute(), TPZMaterialTest::Contribute(), TPZMatOrthotropic::Contribute(), TPZMaterialTest3D::Contribute(), TPZMatPlaca2::Contribute(), TPZElasticity2DHybrid::Contribute(), TPZBiharmonic::Contribute(), TPZNonLinearPoisson3d::Contribute(), TPZMatHyperElastic::Contribute(), TPZConsLawTest::Contribute(), TPZLinearConvecDiff::Contribute(), TPZElasticityHybridMaterial::Contribute(), TPZNonLinBiharmonic::Contribute(), TPZMatDualHybridPoisson::Contribute(), TPZL2Projection::Contribute(), TPZMatElastoPlastic2D< T, TMEM >::Contribute(), TPZPrimalPoisson::Contribute(), TPZElasticityMaterial::Contribute(), TPZMixedPoissonParabolic::Contribute(), TPZMixedDarcyFlow::Contribute(), TPZElasticityAxiMaterial::Contribute(), TPZMatElastoPlastic< T, TMEM >::Contribute(), TPZElasticity3D::Contribute(), TPZMatPorous< T, TMEM >::Contribute(), TPZDualPoisson::Contribute(), TPZVecL2::Contribute(), TPZMatConvectionProblem::Contribute(), TPZMixedPoisson::Contribute(), TPZMatMixedPoisson3D::Contribute(), TPZMatLaplacian::Contribute(), TPZMixedElasticityMaterial::Contribute(), TPZMatPoisson3d::Contribute(), TPZMatElasticity2D::Contribute(), TPZEulerConsLaw::Contribute(), TPZElasticity2DHybrid::ContributeBC(), TPZLinearConvecDiff::ContributeBC(), TPZMatDualHybridPoisson::ContributeBC(), TPZPrimalPoisson::ContributeBC(), TPZMixedPoissonParabolic::ContributeBC(), TPZNullMaterial::ContributeBC(), TPZElasticity3D::ContributeBC(), TPZDualPoisson::ContributeBC(), TPZVecL2::ContributeBC(), TPZMixedPoisson::ContributeBC(), TPZMatLaplacian::ContributeBC(), TPZMatElasticity2D::ContributeBC(), TPZMixedElasticityMaterial::ContributeBC(), TPZMatMixedPoisson3D::ContributeBC(), TPZMatPoisson3d::ContributeBC(), TPZMatLaplacian::ContributeBCHDiv(), TPZMatPoisson3d::ContributeBCHDiv(), TPZMatLaplacian::ContributeBCInterface(), TPZEulerConsLaw::ContributeBCInterface(), TPZBiharmonicEstimator::ContributeErrorsDual(), TPZBurger::ContributeGradStab(), TPZMatLaplacian::ContributeHDiv(), TPZMatPoisson3d::ContributeHDiv(), TPZConsLawTest::ContributeInterface(), TPZBurger::ContributeSUPG(), TPZMatElasticity2D::ContributeVec(), TPZL2Projection::ContributeVecShape(), TPZElasticityMaterial::ContributeVecShape(), TPZElasticity3D::ContributeVecShape(), TPZElast3Dnlinear::ContributeVecShapeAux(), TPZMatMixedPoisson3D::ContributeWithoutSecondIntegration(), TPZMixedPoisson::Errors(), TPZElasticityMaterial::Errors(), TPZMatLaplacian::Errors(), TPZMixedElasticityMaterial::Errors(), TPZMatLaplacian::ErrorsHdiv(), TPZMultiphysicsCompEl< TGeometry >::EvaluateError(), TPZMixedPoisson::GetPermeability(), TPZBndCond::InterfaceJump(), TPZCompMeshTools::LoadSolution(), TPZMatPoisson3d::LocalNeumanContribute(), TPZMatDualHybridPoisson::Solution(), TPZPrimalPoisson::Solution(), TPZMultiphase::Solution(), TPZDualPoisson::Solution(), TPZMixedPoisson::Solution(), TPZMatConvectionProblem::Solution(), TPZElasticityMaterial::Solution(), TPZMatLaplacian::Solution(), TPZMatPoisson3d::Solution(), TPZMixedElasticityMaterial::Solution(), TPZMatMixedPoisson3D::Solution(), and TPZBndCond::UpdateBCValues().

◆ Execute() [2/4]

template<class TVar>
virtual void TPZFunction< TVar >::Execute ( const TPZVec< REAL > &  x,
REAL  time,
TPZVec< TVar > &  f,
TPZFMatrix< TVar > &  gradf 
)
inlinevirtual

Performs time dependent function computation.

Parameters
xpoint coordinate which is suppose to be in real coordinate system but can be in master coordinate system in derived classes.
ftimetime to evaluate
ffunction values
gradffunction derivatives

Reimplemented in TPZDummyFunction< TVar >, and TPZGradient.

Definition at line 50 of file pzfunction.h.

◆ Execute() [3/4]

template<class TVar>
virtual void TPZFunction< TVar >::Execute ( const TPZVec< REAL > &  x,
const TPZFMatrix< REAL > &  axes,
TPZVec< TVar > &  f,
TPZFMatrix< TVar > &  df 
)
inlinevirtual

Execute method receiving axes. It is used in shape functions.

Reimplemented in TPZDummyFunction< TVar >, and TPZGradient.

Definition at line 55 of file pzfunction.h.

◆ Execute() [4/4]

template<class TVar>
virtual void TPZFunction< TVar >::Execute ( const TPZVec< REAL > &  x,
TPZVec< TVar > &  f 
)
inlinevirtual

Simpler version of Execute method which does not compute function derivatives.

Reimplemented in ForceFunction, TPZDummyFunction< TVar >, TPZAnalyticSolution::TExactState, TPZGradient, and TPZAnalyticSolution::TForce.

Definition at line 60 of file pzfunction.h.

◆ NFunctions()

template<class TVar>
virtual int TPZFunction< TVar >::NFunctions ( ) const
inlinevirtual

◆ PolynomialOrder()

template<class TVar>
virtual int TPZFunction< TVar >::PolynomialOrder ( ) const
inlinevirtual

Polynomial order of this function. In case of non-polynomial function it can be a reasonable approximation order.

Reimplemented in TPZDummyFunction< TVar >, TPZAnalyticSolution::TExactState, TPZGradient, TPZAnalyticSolution::Tensor, TPZMeshSolution, and TPZAnalyticSolution::TForce.

Definition at line 66 of file pzfunction.h.

Referenced by TPZMatMixedPoisson3D::IntegrationRuleOrder(), TPZMaterial::IntegrationRuleOrder(), TPZCompElDisc::MaxOrder(), and TPZFunction< STATE >::Print().

◆ Print()

template<class TVar>
virtual void TPZFunction< TVar >::Print ( std::ostream &  out)
inlinevirtual

Print a brief statement.

Reimplemented in TPZMeshSolution.

Definition at line 77 of file pzfunction.h.

Referenced by TPZMaterial::Print().

◆ Read()

template<class TVar>
void TPZFunction< TVar >::Read ( TPZStream buf,
void *  context 
)
inlineoverridevirtual

read objects from the stream

Reimplemented from TPZSavable.

Reimplemented in TPZDummyFunction< TVar >.

Definition at line 89 of file pzfunction.h.

◆ Write()

template<class TVar>
void TPZFunction< TVar >::Write ( TPZStream buf,
int  withclassid 
) const
inlineoverridevirtual

Writes this object to the TPZStream buffer. Include the classid if withclassid = true.

Writes this object to the TPZStream buffer. Include the classid if withclassid = true

Reimplemented from TPZSavable.

Reimplemented in TPZDummyFunction< TVar >.

Definition at line 86 of file pzfunction.h.

Referenced by TPZCompElDisc::Write().


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