chrono::ChLoaderPressure Class Reference

Description

A very usual type of surface loader: the constant pressure load, a 3D per-area force that is aligned to the surface normal.

#include <ChLoaderUV.h>

Inheritance diagram for chrono::ChLoaderPressure:
Collaboration diagram for chrono::ChLoaderPressure:

Public Member Functions

 ChLoaderPressure (std::shared_ptr< ChLoadableUV > mloadable)
 
virtual void ComputeF (const double U, const double V, ChVectorDynamic<> &F, ChVectorDynamic<> *state_x, ChVectorDynamic<> *state_w) override
 Children classes must provide this function that evaluates F = F(u,v) This will be evaluated during ComputeQ() to perform integration over the domain. More...
 
void SetPressure (double mpressure)
 
double GetPressure ()
 
void SetIntegrationPoints (int val)
 
virtual int GetIntegrationPointsU () override
 
virtual int GetIntegrationPointsV () override
 
void SetStiff (bool val)
 
virtual bool IsStiff () override
 
- Public Member Functions inherited from chrono::ChLoaderUVdistributed
 ChLoaderUVdistributed (std::shared_ptr< ChLoadableUV > mloadable)
 
virtual void ComputeQ (ChVectorDynamic<> *state_x, ChVectorDynamic<> *state_w) override
 Computes Q = integral (N'*F*detJ dudvdz) More...
 
- Public Member Functions inherited from chrono::ChLoaderUV
 ChLoaderUV (std::shared_ptr< ChLoadableUV > mloadable)
 
void SetLoadable (std::shared_ptr< ChLoadableUV > mloadable)
 
virtual std::shared_ptr
< ChLoadable
GetLoadable () override
 
std::shared_ptr< ChLoadableUVGetLoadableUV ()
 

Additional Inherited Members

- Public Types inherited from chrono::ChLoaderUV
typedef ChLoadableUV type_loadable
 
- Public Attributes inherited from chrono::ChLoaderUV
std::shared_ptr< ChLoadableUVloadable
 
- Public Attributes inherited from chrono::ChLoader
ChVectorDynamic Q
 

Member Function Documentation

virtual void chrono::ChLoaderPressure::ComputeF ( const double  U,
const double  V,
ChVectorDynamic<> &  F,
ChVectorDynamic<> *  state_x,
ChVectorDynamic<> *  state_w 
)
overridevirtual

Children classes must provide this function that evaluates F = F(u,v) This will be evaluated during ComputeQ() to perform integration over the domain.

Parameters
Uparametric coordinate in surface
Vparametric coordinate in surface
FResult F vector here, size must be = n.field coords.of loadable
state_xif != 0, update state (pos. part) to this, then evaluate F
state_wif != 0, update state (speed part) to this, then evaluate F

Implements chrono::ChLoaderUV.