![]() |
ryujin 2.1.1 revision 71cdc42292164f8095c0bd62c4ea75ebcfac58fa
|
Namespaces | |
| namespace | BarotropicEquationOfStateLibrary |
| namespace | DoFRenumbering |
| namespace | DoFTools |
| namespace | ElectrostaticConfigurationLibrary |
| namespace | EquationOfStateLibrary |
| namespace | Euler |
| namespace | EulerAEOS |
| namespace | EulerBarotropic |
| namespace | EulerInitialStates |
| namespace | EulerPoisson |
| namespace | EulerPoissonAEOS |
| namespace | EulerPoissonBarotropic |
| namespace | FluxLibrary |
| namespace | Geometries |
| namespace | GridGenerator |
| namespace | internal |
| namespace | Manifolds |
| namespace | NavierStokes |
| namespace | ScalarConservation |
| namespace | ShallowWater |
| namespace | ShallowWaterInitialStates |
| namespace | Skeleton |
| namespace | Vectors |
Typedefs | |
| using | Description = Euler::Description |
| using | selected_memory_space_t = std::conditional_t< have_separate_memory_spaces, dealii::MemorySpace::Default, dealii::MemorySpace::Host > |
| template<typename MemorySpace > | |
| using | other_space_t = std::conditional_t< std::is_same_v< MemorySpace, dealii::MemorySpace::Host >, dealii::MemorySpace::Default, dealii::MemorySpace::Host > |
| template<typename Description , int dim, typename Number = double> | |
| using | ParabolicModule = typename Description::template ParabolicModule< dim, Number > |
Functions | |
| template<typename Description , int dim, typename Number > | |
| void | create_prm_files (const std::string &name, bool write_detailed_description) |
| template<int dim, typename Number , typename Number2 > | |
| DEAL_II_ALWAYS_INLINE dealii::Tensor< 1, dim, Number > | apply_B_n (const dealii::Tensor< 1,(dim==2 ? 1 :dim), Number > &magnetic_field, const Number2 theta_tau, const dealii::Tensor< 1, dim, Number > &velocity) |
| template<int dim, typename Number , typename Number2 > | |
| DEAL_II_ALWAYS_INLINE dealii::Tensor< 1, dim, Number > | apply_B_n_inverse (const dealii::Tensor< 1,(dim==2 ? 1 :dim), Number > &magnetic_field, const Number2 &theta_tau, const dealii::Tensor< 1, dim, Number > &velocity) |
| constexpr bool | performs_implicit_transfers (const TransferPolicy policy) |
| template<int dim, typename Number , typename MemorySpace , typename Object > | |
| auto | make_select_view (const Object &object) |
| template<typename Number > | |
| void | transform_to_local_range (const dealii::Utilities::MPI::Partitioner &partitioner, dealii::AffineConstraints< Number > &affine_constraints) |
| template<typename VECTOR > | |
| void | transform_to_local_range (const dealii::Utilities::MPI::Partitioner &partitioner, VECTOR &vector) |
| template<typename ScalarNumber , typename Functor , typename... Args> | |
| void | cpu_simd_loop (const std::string ®ion_name, const Functor &body, const unsigned int left, const unsigned int internal, const unsigned int right, Args &&...args) |
| template<typename ScalarNumber , typename Functor , typename... Args> | |
| void | gpu_loop (const std::string ®ion_name, const Functor &body, const unsigned int left, const unsigned int internal, const unsigned int right, Args &&...args) |
| template<typename MemorySpace , typename ScalarNumber , typename Functor , typename... Args> | |
| void | loop (const std::string ®ion_name, const Functor &body, const unsigned int left, const unsigned int internal, const unsigned int right, Args &&...args) |
| template<typename Reducer , typename Functor , typename... Args> | |
| void | cpu_reduction_loop (const std::string ®ion_name, const Functor &body, const Reducer &reducer, const unsigned int left, const unsigned int right, Args &&...args) |
| template<typename Reducer , typename Functor , typename... Args> | |
| void | gpu_reduction_loop (const std::string ®ion_name, const Functor &body, const Reducer &reducer, const unsigned int left, const unsigned int right, Args &&...args) |
| template<typename MemorySpace , typename Reducer , typename Functor , typename... Args> | |
| void | reduction_loop (const std::string ®ion_name, const Functor &body, const Reducer &reducer, const unsigned int left, const unsigned int right, Args &&...args) |
| template<typename T > | |
| T | fast_pow_impl (const T x, const T b, const Bias) |
| template<typename Number , int n_comp, int warp_size, int simd_length, typename FullMatrix > | |
| void | distribute_local_to_global (const FullMatrix &cell_matrix, const std::vector< dealii::types::global_dof_index > &dof_indices_row, const std::vector< dealii::types::global_dof_index > &dof_indices_column, const dealii::AffineConstraints< Number > &affine_constraints, SparseMatrix< Number, n_comp, warp_size, simd_length > &sparse_matrix) |
| template<typename Number , int n_comp, int warp_size, int simd_length, typename FullMatrix , typename Vector > | |
| void | distribute_local_to_global (const FullMatrix &cell_matrix, const std::vector< dealii::types::global_dof_index > &dof_indices, const dealii::AffineConstraints< Number > &affine_constraints, SparseMatrix< Number, n_comp, warp_size, simd_length > &sparse_matrix) |
| template<typename StateVector , typename Number > | |
| void | sadd (StateVector &dst, const Number s, const Number b, const StateVector &src) |
| void | print_revision_and_version (std::ostream &stream) |
Various convenience wrappers for dealing with dealii::Function, | |
dealii::Tensor: | |
| template<int dim, typename Number , typename Callable > | |
| ToFunction< dim, Number, Callable > | to_function (const Callable &callable, const unsigned int k) |
| template<int dim, typename Number , typename Callable > | |
| ToVectorFunction< dim, Number, Callable > | to_vector_function (const Callable &callable, const unsigned int n_components) |
| template<typename FT , int problem_dim = FT::dimension, typename TT = typename FT::value_type, typename T = typename TT::value_type> | |
| DEAL_II_HOST_DEVICE_ALWAYS_INLINE dealii::Tensor< 1, problem_dim, T > | contract (const FT &flux_ij, const TT &c_ij) |
| template<typename FT , int problem_dim = FT::dimension> | |
| DEAL_II_HOST_DEVICE_ALWAYS_INLINE FT | add (const FT &flux_left_ij, const FT &flux_right_ij) |
Functions | |
| template<typename Number > | |
| DEAL_II_HOST_DEVICE_ALWAYS_INLINE void | quadratic_newton_step (Number &p_1, Number &p_2, const Number phi_p_1, const Number phi_p_2, const Number dphi_p_1, const Number dphi_p_2, const Number sign=Number(1.0)) |
SIMD based access to vectors and arrays of vectors | |
| template<typename T , typename V > | |
| DEAL_II_ALWAYS_INLINE T | read_entry (const V &vector, unsigned int i) |
| template<typename T , typename T2 > | |
| DEAL_II_ALWAYS_INLINE T | read_entry (const std::vector< T2 > &vector, unsigned int i) |
| template<typename T , typename V > | |
| DEAL_II_ALWAYS_INLINE T | read_entry (const V &vector, const unsigned int *js) |
| template<typename T , typename T2 > | |
| DEAL_II_ALWAYS_INLINE T | read_entry (const std::vector< T2 > &vector, const unsigned int *js) |
| template<typename T , typename V > | |
| DEAL_II_ALWAYS_INLINE void | write_entry (V &vector, const T &values, unsigned int i) |
| template<typename T , typename T2 > | |
| DEAL_II_ALWAYS_INLINE void | write_entry (std::vector< T2 > &vector, const T &values, unsigned int i) |
| template<int rank, int dim, std::size_t width, typename Number > | |
| DEAL_II_ALWAYS_INLINE dealii::Tensor< rank, dim, Number > | serialize_tensor (const dealii::Tensor< rank, dim, dealii::VectorizedArray< Number, width > > &vectorized, const unsigned int k) |
| template<int rank, int dim, typename Number > | |
| DEAL_II_ALWAYS_INLINE dealii::Tensor< rank, dim, Number > | serialize_tensor (const dealii::Tensor< rank, dim, Number > &serial, const unsigned int k) |
| template<int rank, int dim, std::size_t width, typename Number > | |
| DEAL_II_ALWAYS_INLINE void | assign_serial_tensor (dealii::Tensor< rank, dim, dealii::VectorizedArray< Number, width > > &result, const dealii::Tensor< rank, dim, Number > &serial, const unsigned int k) |
| template<int rank, int dim, typename Number > | |
| DEAL_II_ALWAYS_INLINE void | assign_serial_tensor (dealii::Tensor< rank, dim, Number > &result, const dealii::Tensor< rank, dim, Number > &serial, const unsigned int k) |
Variables | |
| const std::string | dave |
| constexpr bool | have_separate_memory_spaces |
| constexpr unsigned int | warp_size |
| template<typename T > | |
| constexpr bool | has_n_mpi_ensembles_v = auto::value |
Transcendental and other mathematical operations | |
| enum class | Bias { none , max , min } |
| template<typename Number > | |
| DEAL_II_HOST_DEVICE_ALWAYS_INLINE Number | positive_part (const Number number) |
| template<typename Number > | |
| DEAL_II_HOST_DEVICE_ALWAYS_INLINE Number | negative_part (const Number number) |
| template<dealii::SIMDComparison predicate, typename Number > | |
| DEAL_II_HOST_DEVICE_ALWAYS_INLINE Number | compare_and_apply_mask (const Number &left, const Number &right, const Number &true_value, const Number &false_value) |
| template<dealii::SIMDComparison predicate, typename T , std::size_t width> | |
| DEAL_II_ALWAYS_INLINE dealii::VectorizedArray< T, width > | compare_and_apply_mask (const dealii::VectorizedArray< T, width > &left, const dealii::VectorizedArray< T, width > &right, const dealii::VectorizedArray< T, width > &true_value, const dealii::VectorizedArray< T, width > &false_value) |
| template<int N, typename T > | |
| DEAL_II_HOST_DEVICE_ALWAYS_INLINE T | fixed_power (const T x) |
| template<typename T > | |
| DEAL_II_HOST_DEVICE T | pow (const T x, const T b) |
| template<typename T , std::size_t width> | |
| dealii::VectorizedArray< T, width > | pow (const dealii::VectorizedArray< T, width > x, const T b) |
| template<typename T , std::size_t width> | |
| dealii::VectorizedArray< T, width > | pow (const dealii::VectorizedArray< T, width > x, const dealii::VectorizedArray< T, width > b) |
| template<> | |
| DEAL_II_HOST_DEVICE_ALWAYS_INLINE float | pow (const float x, const float b) |
| template<> | |
| DEAL_II_HOST_DEVICE_ALWAYS_INLINE double | pow (const double x, const double b) |
| template<typename T > | |
| DEAL_II_HOST_DEVICE T | fast_pow (const T x, const T b, const Bias bias=Bias::none) |
| template<typename T , std::size_t width> | |
| dealii::VectorizedArray< T, width > | fast_pow (const dealii::VectorizedArray< T, width > x, const T b, const Bias bias=Bias::none) |
| template<typename T , std::size_t width> | |
| dealii::VectorizedArray< T, width > | fast_pow (const dealii::VectorizedArray< T, width > x, const dealii::VectorizedArray< T, width > b, const Bias bias=Bias::none) |
| template<> | |
| DEAL_II_HOST_DEVICE_ALWAYS_INLINE float | fast_pow (const float x, const float b, const Bias bias) |
| template<> | |
| DEAL_II_HOST_DEVICE_ALWAYS_INLINE double | fast_pow (const double x, const double b, const Bias bias) |
Type traits and packed index handling | |
| template<typename T > | |
| constexpr unsigned int | get_stride_size = 1 |
| template<unsigned int length, typename Functor > | |
| DEAL_II_ALWAYS_INLINE auto | generate_iterators (Functor f) -> std::array< auto, length > |
| template<typename T > | |
| DEAL_II_ALWAYS_INLINE void | increment_iterators (T &iterators) |
Definition at line 15 of file initial_state_library.template.h.
|
strong |
Controls the bias of the fast_pow() functions.
| Enumerator | |
|---|---|
| none | No specific bias. |
| max | Guarantee an upper bound, i.e., fast_pow(x,b) >= pow(x,b). |
| min | Guarantee a lower bound, i.e., fast_pow(x,b) >= pow(x,b). |
| void ryujin::create_prm_files | ( | const std::string & | name, |
| bool | write_detailed_description | ||
| ) |
Create default parameter files for the specified equation Description, dimension and number type. This function is called from the respective equation driver.
Definition at line 208 of file equation_dispatch.h.
|
inline |
Definition at line 32 of file laplace_operator.h.
|
inline |
Definition at line 51 of file laplace_operator.h.
Referenced by ryujin::UpdateOperator< dim, Number >::vmult().
|
inline |
A thread-parallelized and vectorized loop running on the CPU. The loop traverses the index range [left, internal) SIMD vectorized stepping forward with a stride size equal to the number of packed doubles/singles that the loop body operates on at the same time. For the remainder of the index range, i.e., [internal, right) a serial loop is invoked.
body is a functor that must accept a "sentinel" type as first argument and the current index i as last argument. Additional args may be specified in the cpu_simd_loop() invocation that will be forwarded to the loop body: body(Number(), std::forward<Args>(args)..., i); Definition at line 48 of file loop.h.
References LIKWID_MARKER_START, LIKWID_MARKER_STOP, and RYUJIN_PRAGMA.
|
inline |
A loop running on the device (i.e., in the default memory space). The loop traverses the index range [left, right) with a suitable Kokkos parallel_for using a range policy.
body is a functor that must accept a "sentinel" type as first argument and the current index i as last argument. Additional args may be specified in the gpu_loop() invocation that will be forwarded to the loop body: body(ScalarNumber(), std::forward<Args>(args)..., i);body and all args are copied into the kernel, meaning that the functor must capture by value and must be trivially copyable.Definition at line 158 of file loop.h.
References NVTX_MARKER_START, and NVTX_MARKER_STOP.
|
inline |
A loop running either on the CPU, or on the device depending on the selected memory space: For dealii::MemorySpace::Host the loop is dispatched to cpu_simd_loop(), and for dealii::MemorySpace::Default to gpu_loop().
body is a functor that must accept a "sentinel" type as first argument and the current index i as last argument. Additional args may be specified in the loop() invocation that will be forwarded to the loop body.
|
inline |
Definition at line 405 of file loop.h.
References LIKWID_MARKER_START, LIKWID_MARKER_STOP, and RYUJIN_PRAGMA.
Referenced by reduction_loop().
|
inline |
Definition at line 497 of file loop.h.
References NVTX_MARKER_START, and NVTX_MARKER_STOP.
Referenced by reduction_loop().
|
inline |
Definition at line 592 of file loop.h.
References cpu_reduction_loop(), and gpu_reduction_loop().
| DEAL_II_HOST_DEVICE_ALWAYS_INLINE float ryujin::pow | ( | const float | x, |
| const float | b | ||
| ) |
| DEAL_II_HOST_DEVICE_ALWAYS_INLINE double ryujin::pow | ( | const double | x, |
| const double | b | ||
| ) |
| DEAL_II_HOST_DEVICE_ALWAYS_INLINE float ryujin::fast_pow | ( | const float | x, |
| const float | b, | ||
| const Bias | bias | ||
| ) |
Definition at line 356 of file simd.h.
References fast_pow().
| DEAL_II_HOST_DEVICE_ALWAYS_INLINE double ryujin::fast_pow | ( | const double | x, |
| const double | b, | ||
| const Bias | bias | ||
| ) |
Definition at line 373 of file simd.h.
References fast_pow().
| T ryujin::fast_pow_impl | ( | const T | x, |
| const T | b, | ||
| const Bias | |||
| ) |
Definition at line 25 of file simd_fast_pow.template.h.
| void ryujin::distribute_local_to_global | ( | const FullMatrix & | cell_matrix, |
| const std::vector< dealii::types::global_dof_index > & | dof_indices_row, | ||
| const std::vector< dealii::types::global_dof_index > & | dof_indices_column, | ||
| const dealii::AffineConstraints< Number > & | affine_constraints, | ||
| SparseMatrix< Number, n_comp, warp_size, simd_length > & | sparse_matrix | ||
| ) |
| void ryujin::distribute_local_to_global | ( | const FullMatrix & | cell_matrix, |
| const std::vector< dealii::types::global_dof_index > & | dof_indices, | ||
| const dealii::AffineConstraints< Number > & | affine_constraints, | ||
| SparseMatrix< Number, n_comp, warp_size, simd_length > & | sparse_matrix | ||
| ) |
| void ryujin::sadd | ( | StateVector & | dst, |
| const Number | s, | ||
| const Number | b, | ||
| const StateVector & | src | ||
| ) |
Definition at line 18 of file time_integrator.template.h.
| void ryujin::print_revision_and_version | ( | std::ostream & | stream | ) |
Print git revision and version info.
|
inline |
The Dave error message
Definition at line 25 of file equation_dispatch.h.
Referenced by ryujin::EquationDispatch::create_parameter_files(), ryujin::Dispatch< Description, Number >::Dispatch(), and ryujin::EquationDispatch::dispatch().
|
constexpr |
Definition at line 106 of file mpi_ensemble_container.h.