PhyStar  v0.0.0 thu24
ibm::IBMBase< N_dim > Struct Template Referenceabstract

#include <IBMBase.hpp>

Inheritance diagram for ibm::IBMBase< N_dim >:
Collaboration diagram for ibm::IBMBase< N_dim >:

Classes

struct  Geom
 
struct  IBVelBoundary
 
struct  Option
 

Public Member Functions

 IBMBase ()
 
 IBMBase (int id_, std::string filename, tml::tmlnode &ibtml)
 
 IBMBase (int id_, std::vector< Real > pos_ref0, Option &option0)
 
void Create (int id_, std::string filename, tml::tmlnode &ibtml)
 
void ConfigGeo (tml::tmlnode &ibtml)
 
void CreateGeo ()
 create wall geometry from toml More...
 
auto & GetCollObj ()
 
Real GetMeanArea ()
 
virtual void SetIBSolType (IBMSolType soltype0)
 
virtual void SetIBMethod (IBMethod method0, std::vector< Real > para={})
 
void SetMPI (const MPI_Comm comm_)
 
virtual bool IsInside (const blin::Vecr< N_dim > &pos)=0
 
virtual bool IsInsideWithGhostWidth (const blin::Vecr< N_dim > &pos)=0
 
virtual bool IsInsideWithMaxCollisionWidth (const blin::Vecr< N_dim > &pos)=0
 
virtual void Perpare ()=0
 
void LoadLagPoints (std::string filename)
 
void AddNode (auto &nd)
 
void AddVirtualNode (auto &nd)
 
void AddElm (auto &elm)
 
void AddVirtualElm (auto &elm)
 
void InitIBPoints ()
 
void UpdateIBPoints (dmdyn::ParticleData< N_dim > &pdata)
 update ib points by input pdata More...
 
void PrintIBPoints ()
 
void VelocityBoundary ()
 
auto & CalLocalForceAndTorque ()
 
auto & CalLocalForceAndTorque (blin::Vecr< N_dim > &ref)
 
auto CalTotalForceAndTorque ()
 
void InitForceLog (std::string path, bool iconti)
 
void ForceLog (std::string path, bool iconti, int istep, Real time)
 
std::vector< algo::fcl::Vec3f > GenerateFCLPoints ()
 
void GenerateBVHMesh ()
 

Public Attributes

int id
 
MPI_Comm comm
 
blin::Vecr< N_dim > pos_ref = 0.0
 
struct ibm::IBMBase::Option option
 
struct ibm::IBMBase::Geom geo
 
struct ibm::IBMBase::IBVelBoundary ibvelb
 
dmdyn::SmartPList< IBPoint< N_dim > > ibpoints
 
std::unordered_map< int, int > nodeid
 
std::unordered_map< int, int > elmid
 
dmdyn::SmartPList< IBNode< N_dim > > nodes
 
dmdyn::SmartPList< IBElement< N_dim > > elements
 
Force< N_dim > local
 
Force< N_dim > total = {0.0, 0.0}
 
Vecr< N_dim > dr
 
Real mean_ds = -999.0
 

Constructor & Destructor Documentation

◆ IBMBase() [1/3]

template<int N_dim>
ibm::IBMBase< N_dim >::IBMBase ( )
inline

◆ IBMBase() [2/3]

template<int N_dim>
ibm::IBMBase< N_dim >::IBMBase ( int  id_,
std::string  filename,
tml::tmlnode ibtml 
)
inline

References ibm::IBMBase< N_dim >::Create().

Here is the call graph for this function:

◆ IBMBase() [3/3]

template<int N_dim>
ibm::IBMBase< N_dim >::IBMBase ( int  id_,
std::vector< Real pos_ref0,
Option option0 
)
inline

Member Function Documentation

◆ AddElm()

◆ AddNode()

◆ AddVirtualElm()

◆ AddVirtualNode()

◆ CalLocalForceAndTorque() [1/2]

template<int N_dim>
auto& ibm::IBMBase< N_dim >::CalLocalForceAndTorque ( )
inline

References ibm::IBMBase< N_dim >::pos_ref.

Here is the caller graph for this function:

◆ CalLocalForceAndTorque() [2/2]

template<int N_dim>
auto& ibm::IBMBase< N_dim >::CalLocalForceAndTorque ( blin::Vecr< N_dim > &  ref)
inline

◆ CalTotalForceAndTorque()

template<int N_dim>
auto ibm::IBMBase< N_dim >::CalTotalForceAndTorque ( )
inline

References ibm::IBMBase< N_dim >::CalLocalForceAndTorque(), ibm::IBMBase< N_dim >::comm, ibm::IBMBase< N_dim >::local, and ibm::IBMBase< N_dim >::total.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ConfigGeo()

template<int N_dim>
void ibm::IBMBase< N_dim >::ConfigGeo ( tml::tmlnode ibtml)

References ibm::vConfigGeoType().

Here is the call graph for this function:

◆ Create()

template<int N_dim>
void ibm::IBMBase< N_dim >::Create ( int  id_,
std::string  filename,
tml::tmlnode ibtml 
)

References ibm::vConfigDeltaFunType(), ibm::vConfigDeltaWidth(), ibm::vConfigIBVelBType(), ibm::vConfigMethod(), and ibm::vConfigSolType().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateGeo()

template<int N_dim>
void ibm::IBMBase< N_dim >::CreateGeo

create wall geometry from toml

Template Parameters
N_dim

References ibm::Box, ibm::BVHMesh, ibm::Capsule, ibm::Cone, ibm::Cylinder, ibm::Ellipsoid, dmdyn::SmartPList< T >::MaxLengthIncludeVirtual(), and ibm::Sphere.

Here is the call graph for this function:

◆ ForceLog()

template<int N_dim>
void ibm::IBMBase< N_dim >::ForceLog ( std::string  path,
bool  iconti,
int  istep,
Real  time 
)
inline

◆ GenerateBVHMesh()

template<int N_dim>
void ibm::IBMBase< N_dim >::GenerateBVHMesh

References dmdyn::SmartPList< T >::MaxLengthIncludeVirtual().

Here is the call graph for this function:

◆ GenerateFCLPoints()

template<int N_dim>
std::vector< algo::fcl::Vec3f > ibm::IBMBase< N_dim >::GenerateFCLPoints

References dmdyn::SmartPList< T >::MaxLengthIncludeVirtual().

Here is the call graph for this function:

◆ GetCollObj()

template<int N_dim>
auto& ibm::IBMBase< N_dim >::GetCollObj ( )
inline

◆ GetMeanArea()

template<int N_dim>
Real ibm::IBMBase< N_dim >::GetMeanArea ( )
inline

◆ InitForceLog()

template<int N_dim>
void ibm::IBMBase< N_dim >::InitForceLog ( std::string  path,
bool  iconti 
)
inline

◆ InitIBPoints()

◆ IsInside()

template<int N_dim>
virtual bool ibm::IBMBase< N_dim >::IsInside ( const blin::Vecr< N_dim > &  pos)
inlinepure virtual

Implemented in ibm::IBMCart< N_dim >, and ibm::IBMCart< 3 >.

Here is the caller graph for this function:

◆ IsInsideWithGhostWidth()

template<int N_dim>
virtual bool ibm::IBMBase< N_dim >::IsInsideWithGhostWidth ( const blin::Vecr< N_dim > &  pos)
inlinepure virtual

Implemented in ibm::IBMCart< N_dim >, and ibm::IBMCart< 3 >.

Here is the caller graph for this function:

◆ IsInsideWithMaxCollisionWidth()

template<int N_dim>
virtual bool ibm::IBMBase< N_dim >::IsInsideWithMaxCollisionWidth ( const blin::Vecr< N_dim > &  pos)
inlinepure virtual

Implemented in ibm::IBMCart< N_dim >, and ibm::IBMCart< 3 >.

Here is the caller graph for this function:

◆ LoadLagPoints()

◆ Perpare()

template<int N_dim>
virtual void ibm::IBMBase< N_dim >::Perpare ( )
pure virtual

◆ PrintIBPoints()

template<int N_dim>
void ibm::IBMBase< N_dim >::PrintIBPoints ( )
inline

◆ SetIBMethod()

template<int N_dim>
virtual void ibm::IBMBase< N_dim >::SetIBMethod ( IBMethod  method0,
std::vector< Real para = {} 
)
inlinevirtual

◆ SetIBSolType()

template<int N_dim>
virtual void ibm::IBMBase< N_dim >::SetIBSolType ( IBMSolType  soltype0)
inlinevirtual

◆ SetMPI()

template<int N_dim>
void ibm::IBMBase< N_dim >::SetMPI ( const MPI_Comm  comm_)
inline

◆ UpdateIBPoints()

◆ VelocityBoundary()

Member Data Documentation

◆ comm

template<int N_dim>
MPI_Comm ibm::IBMBase< N_dim >::comm

◆ dr

template<int N_dim>
Vecr<N_dim> ibm::IBMBase< N_dim >::dr

◆ elements

template<int N_dim>
dmdyn::SmartPList<IBElement<N_dim> > ibm::IBMBase< N_dim >::elements

◆ elmid

template<int N_dim>
std::unordered_map<int, int> ibm::IBMBase< N_dim >::elmid

◆ geo

template<int N_dim>
struct ibm::IBMBase::Geom ibm::IBMBase< N_dim >::geo

◆ ibpoints

template<int N_dim>
dmdyn::SmartPList<IBPoint<N_dim> > ibm::IBMBase< N_dim >::ibpoints

◆ ibvelb

template<int N_dim>
struct ibm::IBMBase::IBVelBoundary ibm::IBMBase< N_dim >::ibvelb

◆ id

template<int N_dim>
int ibm::IBMBase< N_dim >::id

◆ local

template<int N_dim>
Force<N_dim> ibm::IBMBase< N_dim >::local

◆ mean_ds

template<int N_dim>
Real ibm::IBMBase< N_dim >::mean_ds = -999.0

◆ nodeid

template<int N_dim>
std::unordered_map<int, int> ibm::IBMBase< N_dim >::nodeid

◆ nodes

template<int N_dim>
dmdyn::SmartPList<IBNode<N_dim> > ibm::IBMBase< N_dim >::nodes

◆ option

template<int N_dim>
struct ibm::IBMBase::Option ibm::IBMBase< N_dim >::option

◆ pos_ref

template<int N_dim>
blin::Vecr<N_dim> ibm::IBMBase< N_dim >::pos_ref = 0.0

◆ total

template<int N_dim>
Force<N_dim> ibm::IBMBase< N_dim >::total = {0.0, 0.0}

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