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