Template Struct RT
Defined in File rt_host.hpp
Struct Documentation
-
template<typename Real>
struct RT Radiation transfer solver.
Public Functions
-
inline RT(const Grid<Real> &grid, const int num_rays)
TODO:
num_raysof buffers can be reduced considering ray directions.
-
inline void save(const std::string &file_path) const
-
inline void load(const std::string &file_path)
-
inline void mpi_exchange_halo(const Grid<Real> &grid, const mpi::Shape &mpi_shape)
Exchange halo data between MPI processes.
-
inline void mpi_exchange_halo_x(const Grid<Real> &grid, const mpi::Shape &mpi_shape)
Exchange halo data (x-direction)
-
inline void mpi_exchange_halo_y(const Grid<Real> &grid, const mpi::Shape &mpi_shape)
Exchange halo data (y-direction)
-
inline void mpi_exchange_halo_z(const Grid<Real> &grid, const mpi::Shape &mpi_shape)
Exchange halo data (z-direction)
-
inline void single_sweep(const Grid<Real> &grid)
Sweep over the local grid by short characteristic method.
Note
Currently, only uniform grid is supported.
-
inline Real get_max_diff(const Grid<Real> &grid) const
Get maximum difference from previous state TODO: Reduce the number of evaluation (evaluate only at boundaries).
-
template<typename BoundaryCondition>
inline void solve(const Grid<Real> &grid, const mpi::Shape &mpi_shape, const Real tolerance, const int max_iters, BoundaryCondition &&bc) Solve radiative transfer equation.
All necessary information should be stored in the
rte_tobject.
-
inline constexpr Real integrate_optical_thickness(const Real abs_coeff_u, const Real abs_coeff_d, const Real ds) const noexcept
Integrate the optical thickness along a ray segment.
-
inline RT(const Grid<Real> &grid, const int num_rays)