Finite Volume Solver
prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
|
This class holds state data arrays for each refinement level of a patch hierarchy. More...
#include <PatchHierarchy.hpp>
Public Types | |
using | MultiCutFabs = std::array< std::shared_ptr<::amrex::MultiCutFab >, AMREX_SPACEDIM > |
Public Member Functions | |
PatchLevel ()=default | |
~PatchLevel ()=default | |
PatchLevel (const PatchLevel &) | |
Deeply copy a patch level on each MPI Rank and recompute shielded fractions. More... | |
PatchLevel & | operator= (const PatchLevel &) |
Deeply copy a patch level on each MPI Rank and recompute shielded fractions. More... | |
PatchLevel (int level, Duration tp, const ::amrex::BoxArray &ba, const ::amrex::DistributionMapping &dm, int n_components, std::shared_ptr<::amrex::EBFArrayBoxFactory > factory, int ngrow) | |
Constructs a patch level and computes shielded fractions. More... | |
PatchLevel (PatchLevel &&) noexcept=default | |
Moves a patch level without any allocations happening. More... | |
PatchLevel & | operator= (PatchLevel &&) noexcept=default |
Moves a patch level without any allocations happening. More... | |
Public Attributes | |
std::shared_ptr<::amrex::EBFArrayBoxFactory > | factory |
This stores the EB factory for this refinement level. More... | |
MultiCutFabs | unshielded |
Store unshielded face fractions for all faces which touch a cut cell. More... | |
MultiCutFabs | shielded_left |
Store singly shielded from left face fractions for all faces which touch a cut cell. More... | |
MultiCutFabs | shielded_right |
Store singly shielded from right face fractions for all faces which touch a cut cell. More... | |
MultiCutFabs | doubly_shielded |
Store doubly shielded face fractions for all faces which touch a cut cell. More... | |
int | level_number |
Duration | time_point |
std::ptrdiff_t | cycles |
::amrex::BoxArray | box_array |
::amrex::DistributionMapping | distribution_mapping |
::amrex::MultiFab | data |
std::unique_ptr<::amrex::MultiFab > | nodes |
std::array< std::unique_ptr<::amrex::MultiFab >, AMREX_SPACEDIM > | faces |
This class holds state data arrays for each refinement level of a patch hierarchy.
This cut-cell version stores some embedded boundary informations in addition to the normal patch level type.
using fub::amrex::cutcell::PatchLevel::MultiCutFabs = std::array<std::shared_ptr<::amrex::MultiCutFab>, AMREX_SPACEDIM> |
|
default |
|
default |
fub::amrex::cutcell::PatchLevel::PatchLevel | ( | const PatchLevel & | ) |
Deeply copy a patch level on each MPI Rank and recompute shielded fractions.
|
defaultnoexcept |
Moves a patch level without any allocations happening.
fub::amrex::cutcell::PatchLevel::PatchLevel | ( | int | level, |
Duration | tp, | ||
const ::amrex::BoxArray & | ba, | ||
const ::amrex::DistributionMapping & | dm, | ||
int | n_components, | ||
std::shared_ptr<::amrex::EBFArrayBoxFactory > | factory, | ||
int | ngrow | ||
) |
Constructs a patch level and computes shielded fractions.
[in] | level | the refinement level number in a hierarchy |
[in] | tp | the time point associated with this level |
[in] | ba | the box array describing all boxes of this level |
[in] | dm | the distribution mapping for all boxes of this level |
[in] | factory | the boundary informations for cut cells. |
PatchLevel& fub::amrex::cutcell::PatchLevel::operator= | ( | const PatchLevel & | ) |
Deeply copy a patch level on each MPI Rank and recompute shielded fractions.
|
defaultnoexcept |
Moves a patch level without any allocations happening.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
MultiCutFabs fub::amrex::cutcell::PatchLevel::doubly_shielded |
Store doubly shielded face fractions for all faces which touch a cut cell.
|
inherited |
std::shared_ptr<::amrex::EBFArrayBoxFactory> fub::amrex::cutcell::PatchLevel::factory |
This stores the EB factory for this refinement level.
|
inherited |
|
inherited |
MultiCutFabs fub::amrex::cutcell::PatchLevel::shielded_left |
Store singly shielded from left face fractions for all faces which touch a cut cell.
MultiCutFabs fub::amrex::cutcell::PatchLevel::shielded_right |
Store singly shielded from right face fractions for all faces which touch a cut cell.
|
inherited |
MultiCutFabs fub::amrex::cutcell::PatchLevel::unshielded |
Store unshielded face fractions for all faces which touch a cut cell.