#include <IBMBase.hpp>
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 |
|
inline |
|
inline |
|
inline |
References ibm::IBMBase< N_dim >::option, and ibm::IBMBase< N_dim >::pos_ref.
|
inline |
References ibm::IBElement< N_dim >::ds, ibm::IBMBase< N_dim >::elements, ibm::IBMBase< N_dim >::elmid, ibm::IBElement< N_dim >::id, ibm::IBMBase< N_dim >::IsInside(), ibm::IBElement< N_dim >::isinside, ibm::IBElement< N_dim >::isinside_extend, ibm::IBMBase< N_dim >::IsInsideWithGhostWidth(), ibm::IBElement< N_dim >::nodelist, ibm::IBElement< N_dim >::pos, and ibm::IBMBase< N_dim >::pos_ref.
|
inline |
References ibm::IBNode< N_dim >::elmlist, ibm::IBNode< N_dim >::id, ibm::IBMBase< N_dim >::IsInside(), ibm::IBNode< N_dim >::isinside, ibm::IBNode< N_dim >::isinside_extend, ibm::IBMBase< N_dim >::IsInsideWithGhostWidth(), ibm::IBMBase< N_dim >::nodeid, ibm::IBMBase< N_dim >::nodes, ibm::IBNode< N_dim >::pos, and ibm::IBMBase< N_dim >::pos_ref.
|
inline |
References ibm::IBElement< N_dim >::ds, ibm::IBMBase< N_dim >::elements, ibm::IBMBase< N_dim >::elmid, ibm::IBElement< N_dim >::id, ibm::IBMBase< N_dim >::IsInside(), ibm::IBElement< N_dim >::isinside, ibm::IBElement< N_dim >::isinside_extend, ibm::IBMBase< N_dim >::IsInsideWithGhostWidth(), ibm::IBElement< N_dim >::nodelist, ibm::IBElement< N_dim >::pos, and ibm::IBMBase< N_dim >::pos_ref.
|
inline |
References ibm::IBNode< N_dim >::elmlist, ibm::IBNode< N_dim >::id, ibm::IBMBase< N_dim >::IsInside(), ibm::IBNode< N_dim >::isinside, ibm::IBNode< N_dim >::isinside_extend, ibm::IBMBase< N_dim >::IsInsideWithGhostWidth(), ibm::IBMBase< N_dim >::nodeid, ibm::IBMBase< N_dim >::nodes, ibm::IBNode< N_dim >::pos, and ibm::IBMBase< N_dim >::pos_ref.
|
inline |
|
inline |
References dmdyn::angular::CrossVec3(), ibm::IBMBase< N_dim >::dr, ibm::IBMBase< N_dim >::ibpoints, and ibm::IBMBase< N_dim >::local.
|
inline |
References ibm::IBMBase< N_dim >::CalLocalForceAndTorque(), ibm::IBMBase< N_dim >::comm, ibm::IBMBase< N_dim >::local, and ibm::IBMBase< N_dim >::total.
void ibm::IBMBase< N_dim >::ConfigGeo | ( | tml::tmlnode & | ibtml | ) |
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().
void ibm::IBMBase< N_dim >::CreateGeo |
create wall geometry from toml
N_dim |
References ibm::Box, ibm::BVHMesh, ibm::Capsule, ibm::Cone, ibm::Cylinder, ibm::Ellipsoid, dmdyn::SmartPList< T >::MaxLengthIncludeVirtual(), and ibm::Sphere.
|
inline |
References ibm::IBMBase< N_dim >::CalTotalForceAndTorque(), ibm::IBMBase< N_dim >::comm, ibm::IBMBase< N_dim >::option, ibm::IBMBase< N_dim >::Option::record_force, and ibm::IBMBase< N_dim >::total.
void ibm::IBMBase< N_dim >::GenerateBVHMesh |
References dmdyn::SmartPList< T >::MaxLengthIncludeVirtual().
std::vector< algo::fcl::Vec3f > ibm::IBMBase< N_dim >::GenerateFCLPoints |
References dmdyn::SmartPList< T >::MaxLengthIncludeVirtual().
|
inline |
References ibm::IBMBase< N_dim >::Geom::collobj, and ibm::IBMBase< N_dim >::geo.
|
inline |
References ibm::IBMBase< N_dim >::mean_ds.
|
inline |
|
inline |
|
inlinepure virtual |
Implemented in ibm::IBMCart< N_dim >, and ibm::IBMCart< 3 >.
|
inlinepure virtual |
Implemented in ibm::IBMCart< N_dim >, and ibm::IBMCart< 3 >.
|
inlinepure virtual |
Implemented in ibm::IBMCart< N_dim >, and ibm::IBMCart< 3 >.
|
inline |
References ibm::IBMBase< N_dim >::AddElm(), ibm::IBMBase< N_dim >::AddNode(), dmdyn::AddOnly, dmdyn::AddVirtualListOnly, ibm::IBMBase< N_dim >::AddVirtualNode(), ibm::IBMBase< N_dim >::elements, ibm::mshio::GmshReader< N_dim, T_real >::elmlist, ibm::IBMBase< N_dim >::Option::is_3dline, ibm::IBMBase< N_dim >::IsInsideWithMaxCollisionWidth(), ibm::IBMBase< N_dim >::mean_ds, ibm::mshio::GmshReader< N_dim, T_real >::MeanArea(), ibm::IBMBase< N_dim >::nodeid, ibm::mshio::GmshReader< N_dim, T_real >::nodelist, ibm::IBMBase< N_dim >::nodes, ibm::IBMBase< N_dim >::option, ibm::IBMBase< N_dim >::pos_ref, ibm::mshio::GmshReader< N_dim, T_real >::Print(), ibm::mshio::GmshReader< N_dim, T_real >::Read(), dmdyn::ReadOnly, ibm::SmallRigidBody, and ibm::IBMBase< N_dim >::Option::soltype.
|
pure virtual |
Implemented in ibm::IBMCart< N_dim >, and ibm::IBMCart< 3 >.
|
inline |
References ibm::IBMBase< N_dim >::ibpoints.
|
inlinevirtual |
|
inlinevirtual |
References ibm::IBMBase< N_dim >::option, and ibm::IBMBase< N_dim >::Option::soltype.
|
inline |
References ibm::IBMBase< N_dim >::comm.
|
inline |
update ib points by input pdata
pdata |
References dmdyn::AddOnly, dmdyn::angular::CrossVec3(), ibm::IBPoint< N_dim >::ds, ibm::IBMBase< N_dim >::elements, ibm::IBMBase< N_dim >::ibpoints, ibm::IBPoint< N_dim >::id, ibm::IBMBase< N_dim >::IsInside(), ibm::IBPoint< N_dim >::isinside, ibm::IBPoint< N_dim >::isinside_extend, ibm::IBMBase< N_dim >::IsInsideWithGhostWidth(), ibm::IBPoint< N_dim >::pos, dmdyn::ReadOnly, dmdyn::angular::VecFromPFToIF3DimByee(), ibm::IBPoint< N_dim >::vel, and ibm::IBPoint< N_dim >::velb.
|
inline |
MPI_Comm ibm::IBMBase< N_dim >::comm |
Vecr<N_dim> ibm::IBMBase< N_dim >::dr |
dmdyn::SmartPList<IBElement<N_dim> > ibm::IBMBase< N_dim >::elements |
std::unordered_map<int, int> ibm::IBMBase< N_dim >::elmid |
struct ibm::IBMBase::Geom ibm::IBMBase< N_dim >::geo |
dmdyn::SmartPList<IBPoint<N_dim> > ibm::IBMBase< N_dim >::ibpoints |
struct ibm::IBMBase::IBVelBoundary ibm::IBMBase< N_dim >::ibvelb |
int ibm::IBMBase< N_dim >::id |
Force<N_dim> ibm::IBMBase< N_dim >::local |
Real ibm::IBMBase< N_dim >::mean_ds = -999.0 |
std::unordered_map<int, int> ibm::IBMBase< N_dim >::nodeid |
dmdyn::SmartPList<IBNode<N_dim> > ibm::IBMBase< N_dim >::nodes |
struct ibm::IBMBase::Option ibm::IBMBase< N_dim >::option |
blin::Vecr<N_dim> ibm::IBMBase< N_dim >::pos_ref = 0.0 |
Force<N_dim> ibm::IBMBase< N_dim >::total = {0.0, 0.0} |