chrono::ChLoaderForceOnSurface Class Reference

Description

A very simple surface loader: a constant force vector, applied to a point on a u,v surface.

#include <ChLoaderUV.h>

Inheritance diagram for chrono::ChLoaderForceOnSurface:
Collaboration diagram for chrono::ChLoaderForceOnSurface:

Public Member Functions

 ChLoaderForceOnSurface (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 SetForce (ChVector<> mforce)
 
ChVector GetForce ()
 
virtual bool IsStiff () override
 
- Public Member Functions inherited from chrono::ChLoaderUVatomic
 ChLoaderUVatomic (std::shared_ptr< ChLoadableUV > mloadable)
 
virtual void ComputeQ (ChVectorDynamic<> *state_x, ChVectorDynamic<> *state_w) override
 Computes Q = N'*F. More...
 
void SetApplication (double mu, double mv)
 Set the position, on the surface where the atomic load is applied.
 
- 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::ChLoaderUVatomic
double Pu
 
double Pv
 
- Public Attributes inherited from chrono::ChLoaderUV
std::shared_ptr< ChLoadableUVloadable
 
- Public Attributes inherited from chrono::ChLoader
ChVectorDynamic Q
 

Member Function Documentation

virtual void chrono::ChLoaderForceOnSurface::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.