PhyStar  v0.0.0 thu24
solver::ppsol::CartPPVirtualRegion< N_dim > Struct Template Reference

#include <CartPPVirtualRegion.hpp>

Collaboration diagram for solver::ppsol::CartPPVirtualRegion< N_dim >:

Public Member Functions

void Init (const std::vector< int > &isperiod0, const std::vector< std::vector< Real >> &gb_domain_size0)
 Init. More...
 
void ExtendVirtualParticleByBoundary (dmdyn::SmartPList< dmdyn::ParticleField< N_dim >> &pflist, const Real r)
 add extral particle to virtual list More...
 
void RecoverVirtualParticleByExistData (dmdyn::SmartPList< dmdyn::ParticleField< N_dim >> &pflist)
 Recover virtual particle in list from existed Data. More...
 

Public Attributes

std::vector< std::vector< int > > local_index
 
std::vector< std::pair< int, Vecr< N_dim > > > ind_dpos
 
std::vector< int > isperiod
 
std::vector< std::vector< Real > > gb_domain_size
 

Member Function Documentation

◆ ExtendVirtualParticleByBoundary()

template<int N_dim>
void solver::ppsol::CartPPVirtualRegion< N_dim >::ExtendVirtualParticleByBoundary ( dmdyn::SmartPList< dmdyn::ParticleField< N_dim >> &  pflist,
const Real  r 
)
inline

add extral particle to virtual list

For example, for a position [0.1,0.1]. if the width of virtual region is 0.5, domain sizes lx and lz are 1,2, respectively. we will add new positins [1.1, 0.1],[1.1, 1.1] and [0.1,1.1] to virtual list

Parameters
pflist
r

References dmdyn::AddVirtualListOnly, solver::ppsol::CartPPVirtualRegion< N_dim >::gb_domain_size, solver::ppsol::CartPPVirtualRegion< N_dim >::ind_dpos, solver::ppsol::CartPPVirtualRegion< N_dim >::isperiod, dmdyn::ParticleField< N_dim >::pdata, and dmdyn::ReadOnly.

◆ Init()

template<int N_dim>
void solver::ppsol::CartPPVirtualRegion< N_dim >::Init ( const std::vector< int > &  isperiod0,
const std::vector< std::vector< Real >> &  gb_domain_size0 
)
inline

Init.

Parameters
isperiod0flag of peroid, from cartDataSpace
gb_domain_size0global domian size, from cartDataSpace
Returns
* void

References solver::ppsol::CartPPVirtualRegion< N_dim >::gb_domain_size, and solver::ppsol::CartPPVirtualRegion< N_dim >::isperiod.

◆ RecoverVirtualParticleByExistData()

template<int N_dim>
void solver::ppsol::CartPPVirtualRegion< N_dim >::RecoverVirtualParticleByExistData ( dmdyn::SmartPList< dmdyn::ParticleField< N_dim >> &  pflist)
inline

Recover virtual particle in list from existed Data.

For example, ind_pos stored index of particle and corresponding increment dx with respect to x(index). it means that the virtual particles will be recovered one-by-one through ind_pos.

Parameters
pflist

References dmdyn::AddVirtualListOnly, solver::ppsol::CartPPVirtualRegion< N_dim >::ind_dpos, dmdyn::ParticleField< N_dim >::pdata, and dmdyn::ReadOnly.

Member Data Documentation

◆ gb_domain_size

template<int N_dim>
std::vector<std::vector<Real> > solver::ppsol::CartPPVirtualRegion< N_dim >::gb_domain_size

◆ ind_dpos

template<int N_dim>
std::vector<std::pair<int, Vecr<N_dim> > > solver::ppsol::CartPPVirtualRegion< N_dim >::ind_dpos

◆ isperiod

template<int N_dim>
std::vector<int> solver::ppsol::CartPPVirtualRegion< N_dim >::isperiod

◆ local_index

template<int N_dim>
std::vector<std::vector<int> > solver::ppsol::CartPPVirtualRegion< N_dim >::local_index

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