Finite Volume Solver
prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
|
Namespaces | |
perfect_gas | |
Classes | |
class | AllRegularIndexSpace |
class | FluxMethod |
class | GriddingAlgorithm |
This class modifies and initializes a cutcell::PatchLevel in a cutcell::PatchHierarchy. More... | |
class | IntegratorContext |
This class manages data and the numerical method to perform cut cell simulations with the AMReX library. More... | |
struct | PatchLevel |
This class holds state data arrays for each refinement level of a patch hierarchy. More... | |
struct | PatchHierarchyOptions |
This class extents the normal hierarchy options with a pointer to an embedded boundary index space for each possible refinement level. More... | |
class | PatchHierarchy |
struct | Reconstruction |
struct | TimeIntegrator |
struct | TimeIntegrator2 |
class | ConstantBox |
class | GradientDetector |
struct | TagAllOf |
class | TagBuffer |
struct | TagCutCells |
struct | BoundarySet |
This class manages a list of boundary conditions which get applied in the order in which they are stored. More... | |
struct | ConstantBoundary |
struct | IsentropicPressureBoundaryOptions |
class | IsentropicPressureBoundary |
class | IsentropicPressureExpansion |
This boundary models an isentropic pressure expansion for the one-dimensional ideal gas equations for mixtures. More... | |
struct | MachnumberBoundaryOptions |
class | MachnumberBoundary |
struct | MassflowBoundaryOptions |
class | MassflowBoundary |
struct | PressureOutflowOptions |
class | PressureOutflowBoundary |
class | PressureOutflowBoundary2 |
class | ReflectiveBoundary |
class | ReflectiveBoundary2 |
This boundary condition provides wall boundary which acts only on a specified subset of ghost cells. More... | |
struct | TransmissiveBoundary |
struct | TurbineMassflowBoundaryOptions |
class | TurbineMassflowBoundary |
This is an outflow boundary condition that models the massflow condition of a turbine machine. More... | |
class | DebugOutput |
class | PerfectGasProbesOutput |
class | WriteHdf5 |
class | PlotfileOutput |
Typedefs | |
using | AnyInitialData = ::fub::AnyInitialData< GriddingAlgorithm > |
using | AnyTaggingMethod = ::fub::AnyTaggingMethod< GriddingAlgorithm > |
using | AnyBoundaryCondition = ::fub::AnyBoundaryCondition< GriddingAlgorithm > |
using | HyperbolicMethod = ::fub::HyperbolicMethod< IntegratorContext > |
Enumerations | |
enum class | TurbineMassflowMode { cellwise , average_inner_state , average_outer_state , average_massflow } |
Functions | |
void | FillCutCellData (const StridedDataView< double, 2 > &unshielded, const StridedDataView< double, 2 > &shielded_left, const StridedDataView< double, 2 > &shielded_right, const StridedDataView< double, 2 > &doubly_shielded, const StridedDataView< double, 2 > &unshielded_rel, const StridedDataView< double, 2 > &shielded_left_rel, const StridedDataView< double, 2 > &shielded_right_rel, const StridedDataView< double, 2 > &doubly_shielded_rel, const PatchDataView< const double, 2 > &beta, Direction dir) |
void | FillCutCellData (const StridedDataView< double, 3 > &unshielded, const StridedDataView< double, 3 > &shielded_left, const StridedDataView< double, 3 > &shielded_right, const StridedDataView< double, 3 > &doubly_shielded, const StridedDataView< double, 3 > &unshielded_rel, const StridedDataView< double, 3 > &shielded_left_rel, const StridedDataView< double, 3 > &shielded_right_rel, const StridedDataView< double, 3 > &doubly_shielded_rel, const PatchDataView< const double, 3 > &beta, Direction dir) |
std::vector< const ::amrex::EB2::IndexSpace * > | BuildRegularSpace (const ::amrex::Geometry &coarse_geometry, const ::amrex::IntVect &refine_ratio, int n_required_levels) |
inline ::amrex::Vector< std::string > | AddPrefix (const ::amrex::Vector< std::string > &names, const std::string &prefix) |
template<typename F > | |
FluxMethod (F &&) -> FluxMethod< execution::OpenMpSimdTag, std::decay_t< F >> | |
template<typename Tag , typename FM > | |
FluxMethod (Tag, FM &&) -> FluxMethod< Tag, std::decay_t< FM >> | |
template<typename Equation > | |
void | WritePlotFile (const std::string &plotfilename, const PatchHierarchy &hier, const Equation &equation) |
template<int Rank> | |
void | WritePlotFile (const std::string &plotfilename, const PatchHierarchy &hier, const IdealGasMix< Rank > &equation) |
void | WriteCheckpointFile (const std::string &checkpointname, const PatchHierarchy &hier) |
PatchHierarchy | ReadCheckpointFile (const std::string &checkpointname, DataDescription desc, const CartesianGridGeometry &geometry, const PatchHierarchyOptions &options) |
void | WriteMatlabData (const std::string &name, const PatchHierarchy &hierarchy, fub::Duration time_point, std::ptrdiff_t cycle_number, MPI_Comm comm) |
void | Write2Dfrom3D (const std::string &name, const PatchHierarchy &hierarchy, const ::amrex::Box &finest_box, const IdealGasMix< 3 > &eq, fub::Duration time_point, std::ptrdiff_t cycle_number, MPI_Comm comm) |
std::vector< double > | GatherStates (const PatchHierarchy &hierarchy, basic_mdspan< const double, extents< AMREX_SPACEDIM, dynamic_extent >> xs, MPI_Comm comm) |
template<typename Equation > | |
Reconstruction (const Equation &) -> Reconstruction< execution::OpenMpSimdTag, Equation > | |
template<typename Eq , typename... Ps> | |
GradientDetector (const Eq &eq, const std::pair< Ps, double > &... ps) -> GradientDetector< Eq, Ps... > | |
std::array< std::ptrdiff_t, 2 > | MapToSrc (const std::array< std::ptrdiff_t, 2 > &dest, const ::amrex::Geometry &geom, int side, Direction dir) |
template<typename EulerEquation > | |
void | ExpandState (EulerEquation &eq, Complete< EulerEquation > &dest, const Complete< EulerEquation > &src, double pressure_dest, double efficiency) |
template<typename Tag , typename Equation > | |
ReflectiveBoundary (Tag, const Equation &, Direction, int) -> ReflectiveBoundary< Tag, Equation > | |
template<typename Tag , typename Equation > | |
ReflectiveBoundary2 (Tag, const Equation &, Direction, int, const ::amrex::Box &) -> ReflectiveBoundary2< Tag, Equation > | |
template<typename Equation > | |
ReflectiveBoundary2 (const Equation &, Direction, int, const ::amrex::Box &) -> ReflectiveBoundary2< execution::SequentialTag, Equation > | |
using fub::amrex::cutcell::AnyBoundaryCondition = typedef ::fub::AnyBoundaryCondition<GriddingAlgorithm> |
using fub::amrex::cutcell::AnyInitialData = typedef ::fub::AnyInitialData<GriddingAlgorithm> |
using fub::amrex::cutcell::AnyTaggingMethod = typedef ::fub::AnyTaggingMethod<GriddingAlgorithm> |
using fub::amrex::cutcell::HyperbolicMethod = typedef ::fub::HyperbolicMethod<IntegratorContext> |
|
strong |
inline ::amrex::Vector<std::string> fub::amrex::cutcell::AddPrefix | ( | const ::amrex::Vector< std::string > & | names, |
const std::string & | prefix | ||
) |
std::vector<const ::amrex::EB2::IndexSpace*> fub::amrex::cutcell::BuildRegularSpace | ( | const ::amrex::Geometry & | coarse_geometry, |
const ::amrex::IntVect & | refine_ratio, | ||
int | n_required_levels | ||
) |
void fub::amrex::cutcell::ExpandState | ( | EulerEquation & | eq, |
Complete< EulerEquation > & | dest, | ||
const Complete< EulerEquation > & | src, | ||
double | pressure_dest, | ||
double | efficiency | ||
) |
void fub::amrex::cutcell::FillCutCellData | ( | const StridedDataView< double, 2 > & | unshielded, |
const StridedDataView< double, 2 > & | shielded_left, | ||
const StridedDataView< double, 2 > & | shielded_right, | ||
const StridedDataView< double, 2 > & | doubly_shielded, | ||
const StridedDataView< double, 2 > & | unshielded_rel, | ||
const StridedDataView< double, 2 > & | shielded_left_rel, | ||
const StridedDataView< double, 2 > & | shielded_right_rel, | ||
const StridedDataView< double, 2 > & | doubly_shielded_rel, | ||
const PatchDataView< const double, 2 > & | beta, | ||
Direction | dir | ||
) |
void fub::amrex::cutcell::FillCutCellData | ( | const StridedDataView< double, 3 > & | unshielded, |
const StridedDataView< double, 3 > & | shielded_left, | ||
const StridedDataView< double, 3 > & | shielded_right, | ||
const StridedDataView< double, 3 > & | doubly_shielded, | ||
const StridedDataView< double, 3 > & | unshielded_rel, | ||
const StridedDataView< double, 3 > & | shielded_left_rel, | ||
const StridedDataView< double, 3 > & | shielded_right_rel, | ||
const StridedDataView< double, 3 > & | doubly_shielded_rel, | ||
const PatchDataView< const double, 3 > & | beta, | ||
Direction | dir | ||
) |
fub::amrex::cutcell::FluxMethod | ( | F && | ) | -> FluxMethod< execution::OpenMpSimdTag, std::decay_t< F >> |
fub::amrex::cutcell::FluxMethod | ( | Tag | , |
FM && | |||
) | -> FluxMethod< Tag, std::decay_t< FM >> |
std::vector<double> fub::amrex::cutcell::GatherStates | ( | const PatchHierarchy & | hierarchy, |
basic_mdspan< const double, extents< AMREX_SPACEDIM, dynamic_extent >> | xs, | ||
MPI_Comm | comm | ||
) |
fub::amrex::cutcell::GradientDetector | ( | const Eq & | eq, |
const std::pair< Ps, double > &... | ps | ||
) | -> GradientDetector< Eq, Ps... > |
|
inline |
PatchHierarchy fub::amrex::cutcell::ReadCheckpointFile | ( | const std::string & | checkpointname, |
DataDescription | desc, | ||
const CartesianGridGeometry & | geometry, | ||
const PatchHierarchyOptions & | options | ||
) |
fub::amrex::cutcell::Reconstruction | ( | const Equation & | ) | -> Reconstruction< execution::OpenMpSimdTag, Equation > |
fub::amrex::cutcell::ReflectiveBoundary | ( | Tag | , |
const Equation & | , | ||
Direction | , | ||
int | |||
) | -> ReflectiveBoundary< Tag, Equation > |
fub::amrex::cutcell::ReflectiveBoundary2 | ( | const Equation & | , |
Direction | , | ||
int | , | ||
const ::amrex::Box & | |||
) | -> ReflectiveBoundary2< execution::SequentialTag, Equation > |
fub::amrex::cutcell::ReflectiveBoundary2 | ( | Tag | , |
const Equation & | , | ||
Direction | , | ||
int | , | ||
const ::amrex::Box & | |||
) | -> ReflectiveBoundary2< Tag, Equation > |
void fub::amrex::cutcell::Write2Dfrom3D | ( | const std::string & | name, |
const PatchHierarchy & | hierarchy, | ||
const ::amrex::Box & | finest_box, | ||
const IdealGasMix< 3 > & | eq, | ||
fub::Duration | time_point, | ||
std::ptrdiff_t | cycle_number, | ||
MPI_Comm | comm | ||
) |
void fub::amrex::cutcell::WriteCheckpointFile | ( | const std::string & | checkpointname, |
const PatchHierarchy & | hier | ||
) |
void fub::amrex::cutcell::WriteMatlabData | ( | const std::string & | name, |
const PatchHierarchy & | hierarchy, | ||
fub::Duration | time_point, | ||
std::ptrdiff_t | cycle_number, | ||
MPI_Comm | comm | ||
) |
void fub::amrex::cutcell::WritePlotFile | ( | const std::string & | plotfilename, |
const PatchHierarchy & | hier, | ||
const Equation & | equation | ||
) |
void fub::amrex::cutcell::WritePlotFile | ( | const std::string & | plotfilename, |
const PatchHierarchy & | hier, | ||
const IdealGasMix< Rank > & | equation | ||
) |