| 
    Finite Volume Solver
    prototype
    
   A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin. 
   | 
 
#include <MyStabilisation.hpp>
Public Types | |
| using | Equation = EquationT | 
| using | Conservative = ::fub::Conservative< Equation > | 
| using | ConservativeArray = ::fub::ConservativeArray< Equation > | 
| using | Complete = ::fub::Complete< Equation > | 
| using | CompleteArray = ::fub::CompleteArray< Equation > | 
| template<typename T > | |
| using | DataView = PatchDataView< T, Rank, layout_stride > | 
Public Member Functions | |
| MyCutCellMethod (const Equation &equation) | |
| Constructs a CutCell method from a given base flux method.  More... | |
| MyCutCellMethod (const Equation &equation, const FluxMethod &flux_method) | |
| double | ComputeStableDt (const View< const Complete > &states, const CutCellData< Rank > &cutcell_data, double dx, Direction dir) | 
| void | ComputeRegularFluxes (const View< Conservative > ®ular_fluxes, const View< const Complete > &states, const CutCellData< Rank > &cutcell_data, Duration dt, double dx, Direction dir) | 
| void | ComputeCutCellFluxes (const View< Conservative > &stabilised_fluxes, const View< Conservative > &shielded_left_fluxes, const View< Conservative > &shielded_right_fluxes, const View< Conservative > &doubly_shielded_fluxes, const View< Conservative > ®ular_fluxes, const View< Conservative > &boundary_fluxes, const View< const Conservative > &gradient_x, const View< const Conservative > &gradient_y, const View< const Conservative > &gradient_z, const View< const Complete > &states, const CutCellData< Rank > &geom, Duration dt, const Eigen::Matrix< double, Rank, 1 > &dx, Direction dir) | 
| void | ComputeGradients (const View< Conservative > &gradient_x, const View< Conservative > &gradient_y, const View< Conservative > &gradient_z, const View< const Conservative > &states, const StridedDataView< const char, Rank > &flags, const CutCellData< Rank > &geom, const Coordinates< Rank > &dx) | 
| double | ComputeStableDt (const View< const Complete > &states, double dx, Direction dir) | 
| This function computes a time step size such that no signal will leave any cell covered by this view.  More... | |
| double | ComputeStableDt (execution::SequentialTag, const View< const Complete > &states, double dx, Direction dir) | 
| double | ComputeStableDt (execution::SimdTag, const View< const Complete > &states, double dx, Direction dir) | 
| double | ComputeStableDt (execution::OpenMpTag, const View< const Complete > &states, double dx, Direction dir) | 
| double | ComputeStableDt (execution::OpenMpSimdTag, const View< const Complete > &states, double dx, Direction dir) | 
| const BaseMethod & | Base () const noexcept | 
| Returns the Implementation class which will be used to compute single fluxes.  More... | |
| BaseMethod & | Base () noexcept | 
| Returns the Implementation class which will be used to compute single fluxes.  More... | |
| void | ComputeNumericFluxes (const View< Conservative > &fluxes, const View< const Complete > &states, Duration dt, double dx, Direction dir) | 
| This function computes numerical fluxes.  More... | |
| void | ComputeNumericFluxes (execution::SequentialTag, const View< Conservative > &fluxes, const View< const Complete > &states, Duration dt, double dx, Direction dir) | 
| This function computes numerical fluxes.  More... | |
| void | ComputeNumericFluxes (execution::SimdTag, const View< Conservative > &fluxes, const View< const Complete > &states, Duration dt, double dx, Direction dir) | 
| This function computes numerical fluxes.  More... | |
| void | ComputeNumericFluxes (execution::OpenMpTag, const View< Conservative > &fluxes, const View< const Complete > &states, Duration dt, double dx, Direction dir) | 
| This function computes numerical fluxes.  More... | |
| void | ComputeNumericFluxes (execution::OpenMpSimdTag, const View< Conservative > &fluxes, const View< const Complete > &states, Duration dt, double dx, Direction dir) | 
| This function computes numerical fluxes.  More... | |
| double | ComputeStableDt (const View< const Complete > &states, double dx, Direction dir) | 
| This function computes a time step size such that no signal will leave any cell covered by this view.  More... | |
| double | ComputeStableDt (execution::SequentialTag, const View< const Complete > &states, double dx, Direction dir) | 
| This function computes a time step size such that no signal will leave any cell covered by this view.  More... | |
| double | ComputeStableDt (execution::SimdTag, const View< const Complete > &states, double dx, Direction dir) | 
| This function computes a time step size such that no signal will leave any cell covered by this view.  More... | |
| double | ComputeStableDt (execution::OpenMpTag, const View< const Complete > &states, double dx, Direction dir) | 
| This function computes a time step size such that no signal will leave any cell covered by this view.  More... | |
| double | ComputeStableDt (execution::OpenMpSimdTag, const View< const Complete > &states, double dx, Direction dir) | 
| This function computes a time step size such that no signal will leave any cell covered by this view.  More... | |
Static Public Member Functions | |
| static constexpr int | GetStencilWidth () noexcept | 
| Returns the stencil width of this flux method.  More... | |
| static constexpr int | GetStencilSize () noexcept | 
| Returns the number of elements in a stencil of this flux method.  More... | |
Public Attributes | |
| std::array< Complete, StencilSize > | stencil_ | 
| Conservative | numeric_flux_ | 
Static Public Attributes | |
| static constexpr int | Rank | 
| static constexpr std::size_t | sRank | 
| static constexpr int | StencilWidth | 
| static constexpr std::size_t | StencilSize | 
Private Attributes | |
| Equation | equation_ | 
| HGridReconstruction | h_grid_reconstruction_ | 
| std::array< Complete, 2 > | h_grid_eb_ | 
| std::array< Conservative, 2 > | h_grid_eb_gradients_ | 
| std::array< Complete, 2 > | h_grid_singly_shielded_ | 
| std::array< Conservative, 2 > | h_grid_singly_shielded_gradients_ | 
| std::array< Complete, 2 > | h_grid_regular_ | 
| std::array< Conservative, 2 > | h_grid_regular_gradients_ | 
| Conservative | boundary_flux_ | 
| Conservative | singly_shielded_flux_ | 
| Conservative | regular_flux_ | 
| std::array< CompleteArray, StencilSize > | stencil_array_ | 
| ConservativeArray | numeric_flux_array_ | 
| using fub::MyCutCellMethod< EquationT, FluxMethod, HGridReconstruction >::Complete = ::fub::Complete<Equation> | 
| using fub::MyCutCellMethod< EquationT, FluxMethod, HGridReconstruction >::CompleteArray = ::fub::CompleteArray<Equation> | 
| using fub::MyCutCellMethod< EquationT, FluxMethod, HGridReconstruction >::Conservative = ::fub::Conservative<Equation> | 
| using fub::MyCutCellMethod< EquationT, FluxMethod, HGridReconstruction >::ConservativeArray = ::fub::ConservativeArray<Equation> | 
| using fub::MyCutCellMethod< EquationT, FluxMethod, HGridReconstruction >::DataView = PatchDataView<T, Rank, layout_stride> | 
| using fub::MyCutCellMethod< EquationT, FluxMethod, HGridReconstruction >::Equation = EquationT | 
      
  | 
  explicit | 
Constructs a CutCell method from a given base flux method.
This constructor uses a default constructed riemann problem solver.
| fub::MyCutCellMethod< Equation, FluxMethod, HGridReconstruction >::MyCutCellMethod | ( | const Equation & | equation, | 
| const FluxMethod & | flux_method | ||
| ) | 
      
  | 
  noexceptinherited | 
Returns the Implementation class which will be used to compute single fluxes.
      
  | 
  noexceptinherited | 
Returns the Implementation class which will be used to compute single fluxes.
| void fub::MyCutCellMethod< Equation, FluxMethod, HGridReconstruction >::ComputeCutCellFluxes | ( | const View< Conservative > & | stabilised_fluxes, | 
| const View< Conservative > & | shielded_left_fluxes, | ||
| const View< Conservative > & | shielded_right_fluxes, | ||
| const View< Conservative > & | doubly_shielded_fluxes, | ||
| const View< Conservative > & | regular_fluxes, | ||
| const View< Conservative > & | boundary_fluxes, | ||
| const View< const Conservative > & | gradient_x, | ||
| const View< const Conservative > & | gradient_y, | ||
| const View< const Conservative > & | gradient_z, | ||
| const View< const Complete > & | states, | ||
| const CutCellData< Rank > & | geom, | ||
| Duration | dt, | ||
| const Eigen::Matrix< double, Rank, 1 > & | dx, | ||
| Direction | dir | ||
| ) | 
      
  | 
  inline | 
      
  | 
  inherited | 
This function computes numerical fluxes.
| [out] | fluxes | The destination view where numeric fluxes will be stored at. | 
| [in] | states | A view over cell states which will be used to fill the stencil for this method. | 
| [in] | dir | The direction parameter specifies which directional flux method to use. | 
| [in] | dt | The time step size which will be used to compute the numerical flux. | 
| [in] | dx | The cell width size which will be used to compute the numerical flux. | 
      
  | 
  inherited | 
This function computes numerical fluxes.
| [out] | fluxes | The destination view where numeric fluxes will be stored at. | 
| [in] | states | A view over cell states which will be used to fill the stencil for this method. | 
| [in] | dir | The direction parameter specifies which directional flux method to use. | 
| [in] | dt | The time step size which will be used to compute the numerical flux. | 
| [in] | dx | The cell width size which will be used to compute the numerical flux. | 
      
  | 
  inherited | 
This function computes numerical fluxes.
| [out] | fluxes | The destination view where numeric fluxes will be stored at. | 
| [in] | states | A view over cell states which will be used to fill the stencil for this method. | 
| [in] | dir | The direction parameter specifies which directional flux method to use. | 
| [in] | dt | The time step size which will be used to compute the numerical flux. | 
| [in] | dx | The cell width size which will be used to compute the numerical flux. | 
      
  | 
  inherited | 
This function computes numerical fluxes.
| [out] | fluxes | The destination view where numeric fluxes will be stored at. | 
| [in] | states | A view over cell states which will be used to fill the stencil for this method. | 
| [in] | dir | The direction parameter specifies which directional flux method to use. | 
| [in] | dt | The time step size which will be used to compute the numerical flux. | 
| [in] | dx | The cell width size which will be used to compute the numerical flux. | 
      
  | 
  inherited | 
This function computes numerical fluxes.
| [out] | fluxes | The destination view where numeric fluxes will be stored at. | 
| [in] | states | A view over cell states which will be used to fill the stencil for this method. | 
| [in] | dir | The direction parameter specifies which directional flux method to use. | 
| [in] | dt | The time step size which will be used to compute the numerical flux. | 
| [in] | dx | The cell width size which will be used to compute the numerical flux. | 
| void fub::MyCutCellMethod< Equation, FluxMethod, HGridReconstruction >::ComputeRegularFluxes | ( | const View< Conservative > & | regular_fluxes, | 
| const View< const Complete > & | states, | ||
| const CutCellData< Rank > & | cutcell_data, | ||
| Duration | dt, | ||
| double | dx, | ||
| Direction | dir | ||
| ) | 
| double fub::MyCutCellMethod< Equation, FluxMethod, HGridReconstruction >::ComputeStableDt | ( | const View< const Complete > & | states, | 
| const CutCellData< Rank > & | geom, | ||
| double | dx, | ||
| Direction | dir | ||
| ) | 
in the reflection with their boundary state.
in the reflection with their boundary state.
| double fub::FluxMethod< BaseMethod >::ComputeStableDt | 
This function computes a time step size such that no signal will leave any cell covered by this view.
| [in] | states | A view over cell states which will be used to fill the stencil for this method. | 
| [in] | dir | The direction parameter specifies which directional flux method to use. | 
| [in] | dx | The cell width size which will be used to compute the numerical flux. | 
      
  | 
  inherited | 
This function computes a time step size such that no signal will leave any cell covered by this view.
| [in] | states | A view over cell states which will be used to fill the stencil for this method. | 
| [in] | dir | The direction parameter specifies which directional flux method to use. | 
| [in] | dx | The cell width size which will be used to compute the numerical flux. | 
| double fub::FluxMethod< BaseMethod >::ComputeStableDt | 
      
  | 
  inherited | 
This function computes a time step size such that no signal will leave any cell covered by this view.
| [in] | states | A view over cell states which will be used to fill the stencil for this method. | 
| [in] | dir | The direction parameter specifies which directional flux method to use. | 
| [in] | dx | The cell width size which will be used to compute the numerical flux. | 
| double fub::FluxMethod< BaseMethod >::ComputeStableDt | 
      
  | 
  inherited | 
This function computes a time step size such that no signal will leave any cell covered by this view.
| [in] | states | A view over cell states which will be used to fill the stencil for this method. | 
| [in] | dir | The direction parameter specifies which directional flux method to use. | 
| [in] | dx | The cell width size which will be used to compute the numerical flux. | 
| double fub::FluxMethod< BaseMethod >::ComputeStableDt | 
      
  | 
  inherited | 
This function computes a time step size such that no signal will leave any cell covered by this view.
| [in] | states | A view over cell states which will be used to fill the stencil for this method. | 
| [in] | dir | The direction parameter specifies which directional flux method to use. | 
| [in] | dx | The cell width size which will be used to compute the numerical flux. | 
| double fub::FluxMethod< BaseMethod >::ComputeStableDt | 
      
  | 
  inherited | 
This function computes a time step size such that no signal will leave any cell covered by this view.
| [in] | states | A view over cell states which will be used to fill the stencil for this method. | 
| [in] | dir | The direction parameter specifies which directional flux method to use. | 
| [in] | dx | The cell width size which will be used to compute the numerical flux. | 
      
  | 
  staticconstexprnoexceptinherited | 
Returns the number of elements in a stencil of this flux method.
      
  | 
  staticconstexprnoexceptinherited | 
Returns the stencil width of this flux method.
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  inherited | 
      
  | 
  private | 
      
  | 
  staticconstexpr | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  staticconstexpr | 
      
  | 
  inherited | 
      
  | 
  private | 
      
  | 
  staticconstexpr | 
      
  | 
  staticconstexpr |