peclet-amr 0.2.0
Block-local-Morton AMR octree + collocated cut-cell Navier–Stokes solver (header-only C++20, Kokkos + MPI)
Loading...
Searching...
No Matches
peclet::amr::pybind::Flow Class Reference
Inheritance diagram for peclet::amr::pybind::Flow:

Public Member Functions

 Flow (const Octree &oct, double rho, double mu, double dt)
 
 Flow (DistributedOctree &d, double rho, double mu, double dt)
 
void rebalance_mpi (std::function< double(double, double, double)> sdf)
 
void release () noexcept override
 
Index num_leaves () const
 
void set_body_force (double fx, double fy, double fz)
 
void set_advection (bool on)
 
void set_ghost_projection (bool on, int matrix_order, int rhs_order)
 
void set_ghost_sampled (bool on, double rho, long max_samples)
 
void set_cf_scheme (int scheme)
 
void begin_adapt ()
 
void set_pressure (nb::ndarray< double, nb::c_contig > h)
 
void set_dt (double dt)
 
void finish_adapt (std::function< double(double, double, double)> sdf)
 
void set_advection_scheme (int s)
 
void set_implicit_advection (bool on)
 
void set_solid (std::function< double(double, double, double)> sdf)
 
void set_solid_spheres (nb::ndarray< const double, nb::c_contig > centers, nb::ndarray< const double, nb::c_contig > radii, bool periodic)
 
void set_outer_iterations (int n, double tol)
 
void set_pressure_tolerance (double rtol)
 
void set_pressure_pcg (bool on)
 
void set_momentum_tolerance (double rtol)
 
void set_pressure_bottom (const std::string &mode)
 
void set_pressure_bottom_extent (long cells)
 
long pressure_bottom_extent () const
 
void step (int mom_iters, int pres_iters)
 
nb::ndarray< nb::numpy, double > velocity (int c) const
 
nb::ndarray< nb::numpy, double > velocities () const
 
nb::ndarray< nb::numpy, bool > is_fluid () const
 
double divergence_norm ()
 
nb::ndarray< nb::numpy, double > pressure () const
 
nb::ndarray< nb::numpy, double > face_field () const
 
void set_velocity (int c, nb::ndarray< double, nb::c_contig > h)
 
void project (int pres_iters)
 
amr::AmrFlow & engine ()
 The developer tier (QUALITY_PLAN D2): FlowDiagnostics reaches the solver through this.
 

Detailed Description

Definition at line 455 of file amr_bindings.cpp.

Constructor & Destructor Documentation

◆ Flow() [1/2]

◆ Flow() [2/2]

Member Function Documentation

◆ rebalance_mpi()

void peclet::amr::pybind::Flow::rebalance_mpi ( std::function< double(double, double, double)>  sdf)
inline

◆ release()

void peclet::amr::pybind::Flow::release ( )
inlineoverridenoexcept

Definition at line 480 of file amr_bindings.cpp.

◆ num_leaves()

Index peclet::amr::pybind::Flow::num_leaves ( ) const
inline

Definition at line 482 of file amr_bindings.cpp.

◆ set_body_force()

void peclet::amr::pybind::Flow::set_body_force ( double  fx,
double  fy,
double  fz 
)
inline

◆ set_advection()

void peclet::amr::pybind::Flow::set_advection ( bool  on)
inline

Definition at line 484 of file amr_bindings.cpp.

References peclet::amr::AmrFlow< Bits >::setAdvection().

◆ set_ghost_projection()

void peclet::amr::pybind::Flow::set_ghost_projection ( bool  on,
int  matrix_order,
int  rhs_order 
)
inline

◆ set_ghost_sampled()

void peclet::amr::pybind::Flow::set_ghost_sampled ( bool  on,
double  rho,
long  max_samples 
)
inline

◆ set_cf_scheme()

void peclet::amr::pybind::Flow::set_cf_scheme ( int  scheme)
inline

◆ begin_adapt()

void peclet::amr::pybind::Flow::begin_adapt ( )
inline

Definition at line 495 of file amr_bindings.cpp.

References peclet::amr::AmrFlow< Bits >::beginAdapt().

◆ set_pressure()

void peclet::amr::pybind::Flow::set_pressure ( nb::ndarray< double, nb::c_contig >  h)
inline

◆ set_dt()

void peclet::amr::pybind::Flow::set_dt ( double  dt)
inline

◆ finish_adapt()

void peclet::amr::pybind::Flow::finish_adapt ( std::function< double(double, double, double)>  sdf)
inline

◆ set_advection_scheme()

void peclet::amr::pybind::Flow::set_advection_scheme ( int  s)
inline

◆ set_implicit_advection()

void peclet::amr::pybind::Flow::set_implicit_advection ( bool  on)
inline

◆ set_solid()

void peclet::amr::pybind::Flow::set_solid ( std::function< double(double, double, double)>  sdf)
inline

◆ set_solid_spheres()

void peclet::amr::pybind::Flow::set_solid_spheres ( nb::ndarray< const double, nb::c_contig >  centers,
nb::ndarray< const double, nb::c_contig >  radii,
bool  periodic 
)
inline

◆ set_outer_iterations()

void peclet::amr::pybind::Flow::set_outer_iterations ( int  n,
double  tol 
)
inline

◆ set_pressure_tolerance()

void peclet::amr::pybind::Flow::set_pressure_tolerance ( double  rtol)
inline

◆ set_pressure_pcg()

void peclet::amr::pybind::Flow::set_pressure_pcg ( bool  on)
inline

Definition at line 561 of file amr_bindings.cpp.

References peclet::amr::AmrFlow< Bits >::setPressurePCG().

◆ set_momentum_tolerance()

void peclet::amr::pybind::Flow::set_momentum_tolerance ( double  rtol)
inline

◆ set_pressure_bottom()

void peclet::amr::pybind::Flow::set_pressure_bottom ( const std::string &  mode)
inline

◆ set_pressure_bottom_extent()

void peclet::amr::pybind::Flow::set_pressure_bottom_extent ( long  cells)
inline

◆ pressure_bottom_extent()

long peclet::amr::pybind::Flow::pressure_bottom_extent ( ) const
inline

◆ step()

void peclet::amr::pybind::Flow::step ( int  mom_iters,
int  pres_iters 
)
inline

◆ velocity()

nb::ndarray< nb::numpy, double > peclet::amr::pybind::Flow::velocity ( int  c) const
inline

◆ velocities()

nb::ndarray< nb::numpy, double > peclet::amr::pybind::Flow::velocities ( ) const
inline

◆ is_fluid()

nb::ndarray< nb::numpy, bool > peclet::amr::pybind::Flow::is_fluid ( ) const
inline

◆ divergence_norm()

double peclet::amr::pybind::Flow::divergence_norm ( )
inline

Definition at line 600 of file amr_bindings.cpp.

References peclet::amr::AmrFlow< Bits >::divNormL2().

◆ pressure()

nb::ndarray< nb::numpy, double > peclet::amr::pybind::Flow::pressure ( ) const
inline

◆ face_field()

nb::ndarray< nb::numpy, double > peclet::amr::pybind::Flow::face_field ( ) const
inline

◆ set_velocity()

void peclet::amr::pybind::Flow::set_velocity ( int  c,
nb::ndarray< double, nb::c_contig >  h 
)
inline

◆ project()

void peclet::amr::pybind::Flow::project ( int  pres_iters)
inline

◆ engine()


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