G+Smo  25.01.0
Geometry + Simulation Modules
 
Loading...
Searching...
No Matches
gsFlowBndEvaluator< T > Class Template Reference

Detailed Description

template<class T>
class gismo::gsFlowBndEvaluator< T >

A base class for boundary evaluators.

Used for evaluating some integral quantity defined on a part of a patch boundary, e.g. flow rate.

Template Parameters
Treal number type
+ Inheritance diagram for gsFlowBndEvaluator< T >:

Public Member Functions

void evaluate ()
 Evaluate the quantity, i.e., perform the integration over the given boundary part.
 
getValue ()
 Get the computed value.
 
 gsFlowBndEvaluator (const gsFlowSolverParams< T > &params)
 Constructor.
 
 gsFlowBndEvaluator (const gsFlowSolverParams< T > &params, const std::vector< std::pair< int, boxSide > > &bndPart)
 Constructor.
 
void setBndPart (const std::vector< std::pair< int, boxSide > > &bndPart)
 Set the boundary part, over which the quantity will be integrated.
 
void setPressureField (const gsField< T > &pressure)
 Set the pressure field for evaluation.
 
void setSolutionFields (const gsField< T > &velocity, const gsField< T > &pressure)
 Set the velocity and pressure fields for evaluation.
 
void setVelocityField (const gsField< T > &velocity)
 Set the velocity field for evaluation.
 

Protected Member Functions

virtual void evalOnElement (index_t patchID, boxSide side, const gsMatrix< T > &quNodes, const gsVector< T > &quWeights)
 Evaluate the quantity in one element of the boundary part.
 
void evalOnPatchSide (index_t patchID, boxSide side)
 Evaluate the quantity over one patch side.
 
void initMembers ()
 Initialize the class members.
 

Constructor & Destructor Documentation

◆ gsFlowBndEvaluator() [1/2]

template<class T >
gsFlowBndEvaluator ( const gsFlowSolverParams< T > &  params)
inline

Constructor.

Parameters
[in]paramsthe parameters of the given problem

◆ gsFlowBndEvaluator() [2/2]

template<class T >
gsFlowBndEvaluator ( const gsFlowSolverParams< T > &  params,
const std::vector< std::pair< int, boxSide > > &  bndPart 
)
inline

Constructor.

Parameters
[in]paramsthe parameters of the given problem
[in]bndPartcontainer of pairs (patch, side) defining the boundary part, over which the quantity will be integrated

Member Function Documentation

◆ evalOnElement()

template<class T >
virtual void evalOnElement ( index_t  patchID,
boxSide  side,
const gsMatrix< T > &  quNodes,
const gsVector< T > &  quWeights 
)
inlineprotectedvirtual

Evaluate the quantity in one element of the boundary part.

Parameters
[in]patchIDpatch index
[in]sidepatch side
[in]quNodesquadrature nodes for the given element
[in]quWeightsquadrature weights for the given element

Reimplemented in gsFlowBndEvaluator_flowRate< T >.

◆ evalOnPatchSide()

template<class T >
void evalOnPatchSide ( index_t  patchID,
boxSide  side 
)
protected

Evaluate the quantity over one patch side.

Parameters
[in]patchIDpatch index
[in]sidepatch side

◆ setBndPart()

template<class T >
void setBndPart ( const std::vector< std::pair< int, boxSide > > &  bndPart)
inline

Set the boundary part, over which the quantity will be integrated.

Parameters
[in]bndPartcontainer of pairs (patch, side) defining the boundary part

◆ setPressureField()

template<class T >
void setPressureField ( const gsField< T > &  pressure)
inline

Set the pressure field for evaluation.

Parameters
[in]pressurethe new pressure field

◆ setSolutionFields()

template<class T >
void setSolutionFields ( const gsField< T > &  velocity,
const gsField< T > &  pressure 
)
inline

Set the velocity and pressure fields for evaluation.

Parameters
[in]velocitythe new velocity field
[in]pressurethe new pressure field

◆ setVelocityField()

template<class T >
void setVelocityField ( const gsField< T > &  velocity)
inline

Set the velocity field for evaluation.

Parameters
[in]velocitythe new velocity field