#include <IBMCart.hpp>
Public Types | |
using | Field = blockelm::CartField< Real, N_dim > |
Public Member Functions | |
IBMCart () | |
IBMCart (int id_, blockelm::CartBlock< N_dim > &block, std::vector< Real > pos_ref0, IBMBase< N_dim >::Option &option) | |
IBMCart (int id_, blockelm::CartBlock< N_dim > &block, std::string filename, tml::tmlnode &ibtml) | |
void | Create (int id_, blockelm::CartBlock< N_dim > &block, std::string filename, tml::tmlnode &ibtml) |
auto & | AddCartFieldRef (blockelm::CartField< Real, N_dim > *ptr) |
auto & | ClearCartFieldRef () |
void | InitFilter (blockelm::CartBlock< N_dim > &block) |
void | Init () |
void | InitFilter () |
void | InitFilter (const std::vector< std::vector< Real >> &bds) |
virtual bool | IsInside (const blin::Vecr< N_dim > &pos) |
virtual bool | IsInsideWithGhostWidth (const blin::Vecr< N_dim > &pos) |
virtual bool | IsInsideWithMaxCollisionWidth (const blin::Vecr< N_dim > &pos) |
void | Perpare (blockelm::CartBlock< N_dim > &block) |
virtual void | Perpare () |
void | UpdateNearestGridIndex (blockelm::CartMesh< N_dim > &mesh) |
void | UpdateNearestGridIndex (blockelm::CartField< Real, N_dim > &in) |
void | CalIBForce (int dim, Field &in, Field &out, Real dt) |
auto | CalIBForceImplicitely (dmdyn::ParticleData< N_dim > &pdata, Real dt) |
Real | InterpFromEToL (int ind_ibpnt, Field &in) |
void | CalLagVelocity (int dim, int ind_ibpnt, Field &in, Real dt) |
Real | CalLagForce (int dim, int ind_ibpnt, Field &in, Real dt) |
Real | CalLagForceByPenaltyFun (int dim, int ind_ibpnt, Field &in, Real dt) |
Real | CalLagForceByDirectForce (int dim, int ind_ibpnt, Field &in, Real dt) |
void | AddIBForceToLocal (int dim, int ind_ibpnt, Field &in, Field &out, Real dt) |
Force< N_dim > | LocalInternalForce (dmdyn::ParticleModel *ptr_part, dmdyn::ParticleData< N_dim > &pdata, bool flag=true) |
![]() | |
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_) |
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 | |
std::vector< blockelm::CartField< Real, N_dim > * > | ptr_fieldlist |
compgeo::SimpleCartBoxZone< N_dim > | boxfilter |
blockelm::CartBlock< N_dim > * | ptr_block = nullptr |
std::vector< Real > | ghost_width |
std::vector< Real > | coll_width |
Veci< N_dim > | max_gridind |
Veci< N_dim > | min_gridind |
![]() | |
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 |
using ibm::IBMCart< N_dim >::Field = blockelm::CartField<Real, N_dim> |
|
inline |
|
inline |
References ibm::IBMCart< N_dim >::ptr_block.
|
inline |
References ibm::IBMCart< N_dim >::ptr_block.
|
inline |
References ibm::IBMCart< N_dim >::ptr_fieldlist.
|
inline |
References ibm::IBMCart< N_dim >::CalLagForce(), ibm::DeltaFunMap< N_dim >::Delta(), blockelm::CartField< T, N_dim >::GetMesh(), ibm::IBMBase< N_dim >::ibpoints, and blockelm::CartField< T, N_dim >::shape.
|
inline |
References ibm::IBMCart< N_dim >::AddIBForceToLocal(), and ibm::IBMCart< N_dim >::CalLagVelocity().
|
inline |
References ibm::IBMCart< N_dim >::CalIBForce(), ibm::IBMBase< N_dim >::CalLocalForceAndTorque(), ibm::IBMCart< N_dim >::Perpare(), ibm::IBMCart< N_dim >::ptr_fieldlist, and ibm::IBMBase< N_dim >::UpdateIBPoints().
|
inline |
References ibm::IBMCart< N_dim >::CalLagForceByDirectForce(), ibm::IBMCart< N_dim >::CalLagForceByPenaltyFun(), ibm::DirectForce, and ibm::PenaltyFun.
|
inline |
|
inline |
|
inline |
References ibm::IBMBase< N_dim >::ibpoints, and ibm::IBMCart< N_dim >::InterpFromEToL().
|
inline |
References ibm::IBMCart< N_dim >::ptr_fieldlist.
|
inline |
References ibm::IBMBase< N_dim >::Create(), and ibm::IBMCart< N_dim >::ptr_block.
|
inline |
References ibm::IBMCart< N_dim >::InitFilter(), and ibm::IBMBase< N_dim >::LoadLagPoints().
|
inline |
References ibm::IBMCart< N_dim >::boxfilter, ibm::IBMCart< N_dim >::coll_width, ibm::IBMCart< N_dim >::ghost_width, and ibm::IBMCart< N_dim >::ptr_block.
|
inline |
|
inline |
References ibm::IBMCart< N_dim >::boxfilter.
|
inline |
References ibm::DeltaFunMap< N_dim >::Delta(), ibm::IBMBase< N_dim >::dr, blockelm::CartField< T, N_dim >::GetMesh(), ibm::IBMBase< N_dim >::ibpoints, and blockelm::CartField< T, N_dim >::shape.
|
inlinevirtual |
Implements ibm::IBMBase< N_dim >.
References ibm::IBMCart< N_dim >::boxfilter.
|
inlinevirtual |
Implements ibm::IBMBase< N_dim >.
References ibm::IBMCart< N_dim >::boxfilter, and ibm::IBMCart< N_dim >::ghost_width.
|
inlinevirtual |
Implements ibm::IBMBase< N_dim >.
References ibm::IBMCart< N_dim >::boxfilter, and ibm::IBMCart< N_dim >::coll_width.
|
inline |
References ibm::IBMCart< N_dim >::boxfilter, dmdyn::angular::CrossVec3(), dmdyn::ParticleModel::LevelSetVolumeFraction(), ibm::IBMCart< N_dim >::max_gridind, ibm::IBMCart< N_dim >::min_gridind, ibm::IBMCart< N_dim >::Perpare(), ibm::IBMCart< N_dim >::ptr_block, ibm::IBMBase< N_dim >::UpdateIBPoints(), and dmdyn::ParticleModel::UpdateLevelSetTransform().
|
inlinevirtual |
Implements ibm::IBMBase< N_dim >.
References ibm::IBMBase< N_dim >::dr, ibm::IBMCart< N_dim >::ptr_block, and ibm::IBMCart< N_dim >::UpdateNearestGridIndex().
|
inline |
References ibm::IBMBase< N_dim >::dr, blockelm::CartBlock< N_dim >::mesh, and ibm::IBMCart< N_dim >::UpdateNearestGridIndex().
|
inline |
References blockelm::CartField< T, N_dim >::GetMesh(), ibm::IBMBase< N_dim >::ibpoints, quadpack::max(), ibm::IBMCart< N_dim >::max_gridind, quadpack::min(), and ibm::IBMCart< N_dim >::min_gridind.
|
inline |
References ibm::IBMBase< N_dim >::ibpoints, quadpack::max(), ibm::IBMCart< N_dim >::max_gridind, blockelm::CartMesh< N_dim >::meshc, quadpack::min(), and ibm::IBMCart< N_dim >::min_gridind.
compgeo::SimpleCartBoxZone<N_dim> ibm::IBMCart< N_dim >::boxfilter |
std::vector<Real> ibm::IBMCart< N_dim >::coll_width |
std::vector<Real> ibm::IBMCart< N_dim >::ghost_width |
Veci<N_dim> ibm::IBMCart< N_dim >::max_gridind |
Veci<N_dim> ibm::IBMCart< N_dim >::min_gridind |
blockelm::CartBlock<N_dim>* ibm::IBMCart< N_dim >::ptr_block = nullptr |
std::vector<blockelm::CartField<Real, N_dim> *> ibm::IBMCart< N_dim >::ptr_fieldlist |