ThunderEgg
1.0.0
|
The ThunderEgg namespace. More...
Namespaces | |
GMG | |
Geometric-Multigrid classes. | |
Iterative | |
Iterative Solvers. | |
PETSc | |
A collection of wrappers for operating with PETSc. | |
Poisson | |
Classes specific to the Poisson equation. | |
Schur | |
Implements a Schur compliment system using the interfaces between patches. | |
VarPoisson | |
Classes specific to a variable coefficient Poisson equation. | |
Classes | |
class | BiLinearGhostFiller |
Exchanges ghost cells on patches, uses a BiLinear interpolation scheme for refinement boundaries. More... | |
class | BiQuadraticGhostFiller |
Exchanges ghost cells on patches, handles refinement boundaries with a biquadratic interpolation scheme. More... | |
class | BufferReader |
Class that is used to help read serialized objects from a buffer. More... | |
class | BufferWriter |
Class that is used to help serialize objects into a buffer. More... | |
class | CoarseNbrInfo |
Represents a neighbor that is at a coarser refinement level. More... | |
class | Communicator |
wrapper arount MPI_Comm, provides proper copy operators. Classes that have a communicator are meant to store a Communicator object instead of a raw MPI_Comm More... | |
class | ComponentArray |
Array for acessing data of a patch. It supports variable striding. More... | |
class | ComponentView |
Array for acessing data of a patch. It supports variable striding. More... | |
class | DimensionalArray |
A dimensional array, used for storing templated with and integer. For example a dimensional array of length 3 holding type T will have three values T<0> at index 0, T<1> at index 1, and T<2> at index 2. More... | |
class | DimensionalArray< 1, T > |
Dimensional Array specialization for length of 1. More... | |
class | Domain |
Uses a collection of PatchInfo objects to represent the domain of the problem. More... | |
class | DomainGenerator |
Generates Domain objects. More... | |
class | DomainTools |
Various tools for filling in values in a domain. More... | |
class | Face |
Enum-style class for the faces of an n-dimensional cube. More... | |
class | FineNbrInfo |
Represents neighbors that are at a finer refinement level. More... | |
class | GhostFiller |
Fills ghost cells on patches. More... | |
class | Loop |
Dimension templated loops. More... | |
class | MPIGhostFiller |
Parallell ghostfiller implimented with MPI. More... | |
class | NbrInfo |
Represents information about a patch's neighbor. More... | |
class | NbrInfoBase |
Represents information about a patch's neighbor. More... | |
class | NormalNbrInfo |
Represents a neighbor that is at the same refinement level. More... | |
class | Operator |
Base class for operators. More... | |
class | Orthant |
An enum-style class that represents the octants of a cube. More... | |
class | P4estDomainGenerator |
Generates Domain objects form a given p4est object. More... | |
class | P8estDomainGenerator |
Generates Domain objects form a given p4est object. More... | |
class | PatchArray |
Array for acessing data of a patch. It supports variable striding. More... | |
class | PatchInfo |
Contains metadata for a patch. More... | |
class | PatchOperator |
This is an Operator where derived classes only have to implement the two virtual functions that operate on single patch. More... | |
class | PatchSolver |
Solves the problem on the patches using a specified interface value. More... | |
class | PatchView |
View for accessing data of a patch. It supports variable striding. More... | |
struct | RuntimeError |
ThunderEgg runtime exception. More... | |
class | Serializable |
Interface for serializing objects. More... | |
class | Timer |
Class for keeping track of parallel timings. More... | |
class | TriLinearGhostFiller |
Performs trilinear interpolation on coarse-fine boundaries of patches. More... | |
class | Vector |
Vector class for use in thunderegg. More... | |
class | View |
Array for acessing data of a patch. It supports variable striding. More... | |
Typedefs | |
template<int D> | |
using | Side = Face< D, D - 1 > |
Side class. More... | |
using | Edge = Face< 3, 1 > |
Edge class. | |
template<int D> | |
using | Corner = Face< D, 0 > |
Corner class. More... | |
Enumerations | |
enum | GhostFillingType { GhostFillingType::Faces, GhostFillingType::Edges, GhostFillingType::Corners } |
type of ghost filling. More... | |
enum | NbrType { NbrType::Normal, NbrType::Coarse, NbrType::Fine } |
The type of neighbor. More... | |
Functions | |
template<int D> | |
void | to_json (tpl::nlohmann::json &j, const CoarseNbrInfo< D > &n) |
template<int D> | |
void | from_json (const tpl::nlohmann::json &j, CoarseNbrInfo< D > &n) |
template<int D> | |
void | to_json (tpl::nlohmann::json &j, const Domain< D > &domain) |
template void | to_json< 2 > (tpl::nlohmann::json &j, const Domain< 2 > &domain) |
template void | to_json< 3 > (tpl::nlohmann::json &j, const Domain< 3 > &domain) |
template<int D> | |
Side< D > | HigherSideOnAxis (size_t axis) |
Get the higher side on a given axis. More... | |
template<int D> | |
Side< D > | LowerSideOnAxis (size_t axis) |
Get the lower side on a given axis. More... | |
void | to_json (tpl::nlohmann::json &j, const Side< 1 > &s) |
void | to_json (tpl::nlohmann::json &j, const Side< 2 > &s) |
void | to_json (tpl::nlohmann::json &j, const Side< 3 > &s) |
void | from_json (const tpl::nlohmann::json &j, Side< 1 > &s) |
void | from_json (const tpl::nlohmann::json &j, Side< 2 > &s) |
void | from_json (const tpl::nlohmann::json &j, Side< 3 > &s) |
std::ostream & | operator<< (std::ostream &os, const Side< 1 > &s) |
ostream operator that prints a string representation of side enum. More... | |
std::ostream & | operator<< (std::ostream &os, const Side< 2 > &s) |
ostream operator that prints a string representation of side enum. More... | |
std::ostream & | operator<< (std::ostream &os, const Side< 3 > &s) |
ostream operator that prints a string representation of side enum. More... | |
std::ostream & | operator<< (std::ostream &os, const Edge &o) |
ostream operator that prints a string representation of edge enum. More... | |
void | to_json (tpl::nlohmann::json &j, const Edge &o) |
void | from_json (const tpl::nlohmann::json &j, Edge &o) |
std::ostream & | operator<< (std::ostream &os, const Corner< 2 > &o) |
ostream operator that prints a string representation of quadrant enum. More... | |
std::ostream & | operator<< (std::ostream &os, const Corner< 3 > &o) |
ostream operator that prints a string representation of corner enum. More... | |
void | to_json (tpl::nlohmann::json &j, const Corner< 2 > &o) |
void | to_json (tpl::nlohmann::json &j, const Corner< 3 > &o) |
void | from_json (const tpl::nlohmann::json &j, Corner< 2 > &o) |
void | from_json (const tpl::nlohmann::json &j, Corner< 3 > &o) |
template<int D> | |
void | to_json (tpl::nlohmann::json &j, const FineNbrInfo< D > &n) |
template<int D> | |
void | from_json (const tpl::nlohmann::json &j, FineNbrInfo< D > &n) |
std::ostream & | operator<< (std::ostream &os, const NbrType &type) |
ostream operator that prints a string representation of NbrType enum. | |
NLOHMANN_JSON_SERIALIZE_ENUM (NbrType, { { NbrType::Normal, "NORMAL" }, { NbrType::Coarse, "COARSE" }, { NbrType::Fine, "FINE" } }) | |
template<int D> | |
void | to_json (tpl::nlohmann::json &j, const NormalNbrInfo< D > &n) |
template<int D> | |
void | from_json (const tpl::nlohmann::json &j, NormalNbrInfo< D > &n) |
std::ostream & | operator<< (std::ostream &os, const Orthant< 0 > &o) |
ostream operator that prints a string representation of Orthant<0> enum. More... | |
std::ostream & | operator<< (std::ostream &os, const Orthant< 1 > &o) |
ostream operator that prints a string representation of Orthant<1> enum. More... | |
std::ostream & | operator<< (std::ostream &os, const Orthant< 2 > &o) |
ostream operator that prints a string representation of quadrant enum. More... | |
std::ostream & | operator<< (std::ostream &os, const Orthant< 3 > &o) |
ostream operator that prints a string representation of orthant enum. More... | |
void | to_json (tpl::nlohmann::json &j, const Orthant< 0 > &o) |
void | to_json (tpl::nlohmann::json &j, const Orthant< 1 > &o) |
void | to_json (tpl::nlohmann::json &j, const Orthant< 2 > &o) |
void | to_json (tpl::nlohmann::json &j, const Orthant< 3 > &o) |
void | from_json (const tpl::nlohmann::json &j, Orthant< 0 > &o) |
void | from_json (const tpl::nlohmann::json &j, Orthant< 1 > &o) |
void | from_json (const tpl::nlohmann::json &j, Orthant< 2 > &o) |
void | from_json (const tpl::nlohmann::json &j, Orthant< 3 > &o) |
template<int D> | |
void | to_json (tpl::nlohmann::json &j, const PatchInfo< D > &pinfo) |
template<int D> | |
void | from_json (const tpl::nlohmann::json &j, PatchInfo< D > &pinfo) |
Variables | |
constexpr bool | ENABLE_DEBUG = false |
constexpr bool | PETSC_ENABLED = true |
The ThunderEgg namespace.
using ThunderEgg::Corner = typedef Face<D, 0> |
Corner class.
D | the number of Cartesian dimensions |
using ThunderEgg::Side = typedef Face<D, D - 1> |
Side class.
D | the number of Cartesian dimensions |
|
strong |
|
strong |
Side<D> ThunderEgg::HigherSideOnAxis | ( | size_t | axis | ) |
Get the higher side on a given axis.
D | the number of Cartesian dimensions |
axis | the axis |
Side<D> ThunderEgg::LowerSideOnAxis | ( | size_t | axis | ) |
Get the lower side on a given axis.
D | the number of Cartesian dimensions |
axis | the axis |
std::ostream& ThunderEgg::operator<< | ( | std::ostream & | os, |
const Corner< 2 > & | o | ||
) |
ostream operator that prints a string representation of quadrant enum.
For example, Corner<2>::sw() will print out "Corner<2>::sw()".
os | the ostream |
o | the corner |
std::ostream& ThunderEgg::operator<< | ( | std::ostream & | os, |
const Corner< 3 > & | o | ||
) |
ostream operator that prints a string representation of corner enum.
For example, Corner<3>::bsw() will print out "Corner<3>::bsw()".
os | the ostream |
o | the corner |
std::ostream& ThunderEgg::operator<< | ( | std::ostream & | os, |
const Edge & | o | ||
) |
ostream operator that prints a string representation of edge enum.
For example, Edge::sw() will print out "Edge::sw()".
os | the ostream |
o | the edge |
|
inline |
ostream operator that prints a string representation of Orthant<0> enum.
For example, Orthant<0>::null() will print out "Orthant<0>::null()".
os | the ostream |
o | the orthant |
|
inline |
ostream operator that prints a string representation of Orthant<1> enum.
For example, Orthant<1>::lower() will print out "Orthant<1>::lower()".
os | the ostream |
o | the orthant |
|
inline |
ostream operator that prints a string representation of quadrant enum.
For example, Orthant<2>::sw() will print out "Orthant<2>::sw()".
os | the ostream |
o | the orthant |
|
inline |
ostream operator that prints a string representation of orthant enum.
For example, Orthant<3>::bsw() will print out "Orthant<3>::bsw()".
os | the ostream |
o | the orthant |
std::ostream& ThunderEgg::operator<< | ( | std::ostream & | os, |
const Side< 1 > & | s | ||
) |
ostream operator that prints a string representation of side enum.
For example, Side::west will print out "Side::west".
os | the ostream |
s | the side to print out. |
std::ostream& ThunderEgg::operator<< | ( | std::ostream & | os, |
const Side< 2 > & | s | ||
) |
ostream operator that prints a string representation of side enum.
For example, Side::west will print out "Side::west".
os | the ostream |
s | the side to print out. |
std::ostream& ThunderEgg::operator<< | ( | std::ostream & | os, |
const Side< 3 > & | s | ||
) |
ostream operator that prints a string representation of side enum.
For example, Side::west will print out "Side::west".
os | the ostream |
s | the side to print out. |