FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
environment::SeafloorForces Class Reference

#include <SeafloorForces.h>

+ Inheritance diagram for environment::SeafloorForces:
+ Collaboration diagram for environment::SeafloorForces:

Public Member Functions

 SeafloorForces (std::shared_ptr< marenv::seafloor::BathymetryField > bathymetrybroker)
 
seabed::ContactLoad< double > Sphere (const seabed::Sphere &sphere, const double pos[3], const double vel[3]) override
 
seabed::NodePairLoad< double > CableElement (double diameter, const double posA[3], const double posB[3], const double velA[3], const double velB[3]) override
 
seabed::ContactLoad< double > RigidCylinder (const seabed::Cylinder &cylinder, const seabed::RigidMotion< double > &motion) override
 
seabed::ContactLoad< double > Plate (const seabed::Polygon &polygon, const seabed::RigidMotion< double > &motion) override
 
seabed::ContactLoad< double > TrawlDoor (const seabed::TrawlDoorShape &door, const seabed::RigidMotion< double > &motion) override
 
seabed::ContactLoad< double > AnchorShank (const seabed::AnchorShank &shank, const seabed::RigidMotion< double > &motion) override
 

Detailed Description

Implementation of the seabed contact: the soil law family over a bathymetry.

Looks up the bed depth under each contact point of a call, and calls the law of the shape (seabed/SeabedContact.h). The law decides contact from the geometry alone, before it reads the soil, so the soil under a contact point is looked up only where the body is in contact, and a body is evaluated once.

Constructor & Destructor Documentation

◆ SeafloorForces()

environment::SeafloorForces::SeafloorForces ( std::shared_ptr< marenv::seafloor::BathymetryField >  bathymetrybroker)
explicit

Construct SeafloorForces with bathymetry provider.

Parameters
[in]bathymetrybrokerProvider for seabed depth and soil queries.

Member Function Documentation

◆ AnchorShank()

seabed::ContactLoad< double > environment::SeafloorForces::AnchorShank ( const seabed::AnchorShank &  shank,
const seabed::RigidMotion< double > &  motion 
)
override

◆ CableElement()

seabed::NodePairLoad< double > environment::SeafloorForces::CableElement ( double  diameter,
const double  posA[3],
const double  posB[3],
const double  velA[3],
const double  velB[3] 
)
override

◆ Plate()

seabed::ContactLoad< double > environment::SeafloorForces::Plate ( const seabed::Polygon &  polygon,
const seabed::RigidMotion< double > &  motion 
)
override

◆ RigidCylinder()

seabed::ContactLoad< double > environment::SeafloorForces::RigidCylinder ( const seabed::Cylinder &  cylinder,
const seabed::RigidMotion< double > &  motion 
)
override

◆ Sphere()

seabed::ContactLoad< double > environment::SeafloorForces::Sphere ( const seabed::Sphere &  sphere,
const double  pos[3],
const double  vel[3] 
)
override

◆ TrawlDoor()

seabed::ContactLoad< double > environment::SeafloorForces::TrawlDoor ( const seabed::TrawlDoorShape &  door,
const seabed::RigidMotion< double > &  motion 
)
override

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