|
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. |