Loading...
Searching...
No Matches
helpers.hpp File Reference

Go to the source code of this file.

Classes

struct  terra::fv::hex::DirichletBCs< ScalarT >
 Constant Dirichlet boundary conditions for the inner (CMB) and outer (surface) radial boundaries of the spherical shell. More...
 

Namespaces

namespace  terra
 
namespace  terra::fv
 
namespace  terra::fv::hex
 

Functions

template<typename ScalarT >
void terra::fv::hex::apply_dirichlet_bcs (grid::Grid4DDataScalar< ScalarT > data, const grid::Grid4DDataScalar< grid::shell::ShellBoundaryFlag > &boundary_mask, const DirichletBCs< ScalarT > &bcs, const grid::shell::DistributedDomain &domain)
 Strongly enforce Dirichlet boundary conditions on the radial shell boundaries.
 
template<typename ScalarT >
void terra::fv::hex::apply_dirichlet_bcs (linalg::VectorFVScalar< ScalarT > &T, const grid::Grid4DDataScalar< grid::shell::ShellBoundaryFlag > &boundary_mask, const DirichletBCs< ScalarT > &bcs, const grid::shell::DistributedDomain &domain)
 
template<typename ScalarType , typename GridScalarType >
void terra::fv::hex::compute_cell_centers (linalg::VectorFVVec< ScalarType, 3 > &dst, const grid::Grid3DDataVec< GridScalarType, 3 > &coords_shell, const grid::Grid2DDataScalar< GridScalarType > &coords_radii)
 Computes cell centers and writes to a vector valued finite volume function.
 
template<typename ScalarType , typename GridScalarType >
void terra::fv::hex::initialize_cell_centers (linalg::VectorFVVec< ScalarType, 3 > &dst, const grid::shell::DistributedDomain &domain, const grid::Grid3DDataVec< GridScalarType, 3 > &coords_shell, const grid::Grid2DDataScalar< GridScalarType > &coords_radii)
 Computes cell center positions once and populates ghost layers via MPI communication.