Feel++ 0.111.0-preview.14
Finite Element Embedded Library in C++
Feel::FeelModels::FluidMechanics< ConvexType, BasisVelocityType, BasisPressureType >::BodyBoundaryCondition Class Reference

Boundary Condition for a Body. More...

+ Collaboration diagram for Feel::FeelModels::FluidMechanics< ConvexType, BasisVelocityType, BasisPressureType >::BodyBoundaryCondition:

Classes

struct  ElasticBehavior
 
struct  FieldTag
 

Public Types

typedef std::shared_ptr< bdf_trace_angular_velocity_type > bdf_trace_angular_velocity_ptrtype
 
typedef Bdf< space_trace_angular_velocity_type > bdf_trace_angular_velocity_type
 
typedef std::shared_ptr< element_trace_angular_velocity_type > element_trace_angular_velocity_ptrtype
 
typedef space_trace_angular_velocity_type::element_type element_trace_angular_velocity_type
 
using evaluate_torques_type = typename mpl::if_< mpl::equal_to< mpl::int_< nDim >, mpl::int_< 3 > >, eigen_vector_type< nDim >, eigen_matrix_type< 1, 1 > >::type
 fluid torques
 
using moment_of_inertia_type = typename multibody_type::body_type::moment_of_inertia_type
 
typedef std::shared_ptr< space_trace_angular_velocity_type > space_trace_angular_velocity_ptrtype
 
typedef mpl::if_< mpl::equal_to< mpl::int_< nDim >, mpl::int_< 2 > >, space_trace_p0c_scalar_type, space_trace_p0c_vectorial_type >::type space_trace_angular_velocity_type
 

Public Member Functions

auto const & angularVelocityExpr () const
 
void applyRemesh (self_type const &fluidToolbox, RemeshInterpolation &remeshInterp)
 
std::map< std::string, ModelExpression > const & articulationTranslationalVelocityExpr () const
 
void attachToNBodyArticulated (NBodyArticulated const &nba)
 attach a NBodyArticulated to this object
 
bdf_trace_angular_velocity_ptrtype bdfAngularVelocity () const
 
bdf_trace_p0c_vectorial_ptrtype bdfTranslationalVelocity () const
 
multibody_type::body_type & body ()
 
multibody_type::body_type const & body () const
 
 BodyBoundaryCondition (BodyBoundaryCondition &&)=default
 
 BodyBoundaryCondition (BodyBoundaryCondition const &)=default
 
 BodyBoundaryCondition (self_type const &fluidToolbox)
 
template<typename SymbolsExprType >
auto createElasticBehavior (SymbolsExprType const &se) const
 
auto elasticVelocityExpr () const
 
element_trace_angular_velocity_ptrtype fieldAngularVelocityPtr () const
 
element_trace_velocity_ptrtype & fieldElasticVelocityPtr ()
 
element_trace_velocity_ptrtype fieldElasticVelocityPtr () const
 
element_trace_p0c_vectorial_ptrtype fieldTranslationalVelocityPtr () const
 
eigen_vector_type< nRealDim > fluidForces () const
 fluid forces
 
evaluate_torques_type fluidTorques () const
 
NBodyArticulated const & getNBodyArticulated () const
 return NBodyArticulated object related if inside (else assert failed)
 
bool gravityForceEnabled () const
 
eigen_vector_type< nRealDim > const & gravityForceWithMass () const
 
bool hasAngularVelocityExpr () const
 
bool hasElasticBehaviorFromExpr () const
 
bool hasElasticDisplacementFromExpr () const
 
bool hasElasticVelocity () const
 
bool hasElasticVelocityFromExpr () const
 
bool hasTranslationalVelocityExpr () const
 
void init (self_type const &fluidToolbox)
 
void initElasticBehavior ()
 
void initTimeStep (self_type const &fluidToolbox, int bdfOrder, int nConsecutiveSave, std::string const &myFileFormat)
 
bool isInNBodyArticulated () const
 return true if this object is in NBodyArticulated
 
std::set< std::string > const & markers () const
 
auto massCenterExpr () const
 return center of mass expression
 
sparse_matrix_ptrtype matrixPTilde_angular () const
 
sparse_matrix_ptrtype matrixPTilde_translational () const
 
trace_mesh_ptrtype mesh () const
 
auto modelMeasuresQuantities (std::string const &prefix) const
 
moment_of_inertia_type const & momentOfInertia_bodyFrame () const
 return moment of inertia related to body frame
 
moment_of_inertia_type momentOfInertia_inertialFrame () const
 return moment of inertia related to body frame as an expression More...
 
std::string const & name () const
 
range_faces_type const & rangeMarkedFacesOnFluid () const
 
eigen_matrix_type< nRealDim, nRealDim > rigidRotationMatrix () const
 return the current rotation matrix
 
auto rigidVelocityExpr () const
 
auto rigidVelocityExprFromFields () const
 
void setParameterValues (std::map< std::string, double > const &mp)
 
void setup (std::string const &bodyName, typename FluidMechanicsBoundaryConditions< nDim >::BodyInterface const &bi, self_type const &fluidToolbox)
 
space_trace_angular_velocity_ptrtype spaceAngularVelocity () const
 
space_trace_velocity_ptrtype const & spaceElasticVelocityPtr () const
 
space_trace_p0c_vectorial_ptrtype spaceTranslationalVelocity () const
 
void startTimeStep ()
 
tabulate_informations_ptr_t tabulateInformations (nl::json const &jsonInfo, TabulateInformationProperties const &tabInfoProp, std::map< std::string, uint16_type > &jsonPtrFunctionSpacesToLevel) const
 
moment_of_inertia_type timeDerivativeOfMomentOfInertia_bodyFrame (double dt) const
 
auto const & translationalVelocityExpr () const
 
template<typename ElasticBehaviorType >
void updateElasticBehavior (ElasticBehaviorType const &elasticBehavior, self_type const &fluidToolbox)
 
void updateElasticVelocityWithRotation ()
 update the elastic velocty with the rotation applied to the body
 
void updateForUse (self_type const &fluidToolbox)
 
void updateInformationObject (nl::json &p) const
 
void updateMatrixPTilde_angular (self_type const &fluidToolbox, sparse_matrix_ptrtype &mat, size_type startBlockIndexVelocity=0, size_type startBlockIndexAngularVelocity=0) const
 
void updateParameterValues (std::map< std::string, double > &mp, std::string const &prefix_symbol)
 
void updateRigidDisplacement (double dt)
 update rigid displacement of body
 
void updateTimeStep ()
 

Detailed Description

template<typename ConvexType, typename BasisVelocityType, typename BasisPressureType = Lagrange< (BasisVelocityType::nOrder>1)? (BasisVelocityType::nOrder-1):BasisVelocityType::nOrder, Scalar,Continuous,PointSetFekete>>
class Feel::FeelModels::FluidMechanics< ConvexType, BasisVelocityType, BasisPressureType >::BodyBoundaryCondition

Boundary Condition for a Body.

Member Function Documentation

◆ momentOfInertia_inertialFrame()

template<typename ConvexType , typename BasisVelocityType , typename BasisPressureType = Lagrange< (BasisVelocityType::nOrder>1)? (BasisVelocityType::nOrder-1):BasisVelocityType::nOrder, Scalar,Continuous,PointSetFekete>>
moment_of_inertia_type Feel::FeelModels::FluidMechanics< ConvexType, BasisVelocityType, BasisPressureType >::BodyBoundaryCondition::momentOfInertia_inertialFrame ( ) const

return moment of inertia related to body frame as an expression

return the moment of inertia related to inertial frame