|
| class | AbstractAdaptor |
| | Implement a simple interface to do all adaptivity tasks, i.e. solution transfer, reinit of dofHandlers, etc. More...
|
| |
| class | AbstractAssembler |
| | This is the general assembler interface for any kind of discretization. An assembler is responsible for calculating residuals and their jacobians for any given discretization, including both the spatial part and any further variables. Any assembler for a specific spatial discretization must fully implement this interface. More...
|
| |
| class | AbstractFlowingVariables |
| | A class to set up initial data for whatever discretization we have chosen. Also used to switch/manage memory, vectors, matrices over interfaces between spatial discretization and separate variables. More...
|
| |
| class | AbstractIntegrator |
| |
| class | AbstractLinearSolver |
| |
| class | AbstractMinimizer |
| | Abstract class for minimization in arbitrary dimensions. More...
|
| |
| class | AbstractMinimizer< 1 > |
| |
| class | AbstractRootFinder |
| |
| class | AbstractRootFinder< 1 > |
| |
| class | AbstractTimestepper |
| | The abstract base class for all timestepping algorithms. It provides a standard constructor which populates typical timestepping parameters from a given JSONValue object, such as the timestep sizes, tolerances, verbosity, etc. that are used in the timestepping algorithms. More...
|
| |
| class | BisectionRootFinder |
| |
| class | BosonicCoordinates1DFiniteT |
| |
| class | BosonicMatsubaraValues |
| |
| struct | BosonicRegulator |
| | Implements one of the standard exponential regulators, i.e. More...
|
| |
| struct | BosonicRegulatorOpts |
| |
| class | ComponentDescriptor |
| | A class to describe how many FE functions, additional variables and extractors are used in a model. More...
|
| |
| class | ConfigurationHelper |
| | Class to read parameters given from the command line and from a parameter file. More...
|
| |
| class | CoordinatePackND |
| | Utility class for combining multiple coordinate systems into one. More...
|
| |
| class | CsvOutput |
| | A class to output data to a CSV file. More...
|
| |
| class | CSVReader |
| | This class reads a .csv file and allows to access the data. More...
|
| |
| class | DataOutput |
| | Class to manage writing to files. FEM functions are written to vtk files and other data is written to csv files. More...
|
| |
| class | ExecutionSpaces |
| |
| struct | ExponentialRegulator |
| | Implements one of the standard exponential regulators, i.e. More...
|
| |
| struct | ExponentialRegulatorOpts |
| |
| class | ExternalDataInterpolator |
| | This class takes in a .csv file with x-dependent data and interpolates it to a given x on request. More...
|
| |
| class | FEMAssembler |
| | The basic assembler that can be used for any standard CG scheme with flux and source. More...
|
| |
| class | FEOutput |
| | A class to output finite element data to disk as .vtu files and .pvd time series. More...
|
| |
| class | FEOutput< 0, VectorType > |
| |
| class | FermionicCoordinates1DFiniteT |
| |
| class | FermionicMatsubaraValues |
| |
| struct | FixedString |
| | A fixed size compile-time string. More...
|
| |
| class | FlowEquations |
| |
| class | FlowEquationsFiniteT |
| |
| class | FlowingVariables |
| | A class to set up initial data for whatever discretization we have chosen. Also used to switch/manage memory, vectors, matrices over interfaces between spatial discretization and separate variables. More...
|
| |
| struct | FunctionND |
| | A class to describe a function with a compile-time name and a fixed number of dimensions. More...
|
| |
| struct | GetKokkosNDStarType |
| |
| struct | GetKokkosNDStarType< 1, T > |
| |
| struct | GLQuadrature |
| |
| struct | GLQuadrature< 1, ctype > |
| |
| struct | GLQuadrature< 10, ctype > |
| |
| struct | GLQuadrature< 11, ctype > |
| |
| struct | GLQuadrature< 12, ctype > |
| |
| struct | GLQuadrature< 128, ctype > |
| |
| struct | GLQuadrature< 13, ctype > |
| |
| struct | GLQuadrature< 14, ctype > |
| |
| struct | GLQuadrature< 15, ctype > |
| |
| struct | GLQuadrature< 16, ctype > |
| |
| struct | GLQuadrature< 2, ctype > |
| |
| struct | GLQuadrature< 20, ctype > |
| |
| struct | GLQuadrature< 24, ctype > |
| |
| struct | GLQuadrature< 3, ctype > |
| |
| struct | GLQuadrature< 32, ctype > |
| |
| struct | GLQuadrature< 4, ctype > |
| |
| struct | GLQuadrature< 48, ctype > |
| |
| struct | GLQuadrature< 5, ctype > |
| |
| struct | GLQuadrature< 6, ctype > |
| |
| struct | GLQuadrature< 64, ctype > |
| |
| struct | GLQuadrature< 7, ctype > |
| |
| struct | GLQuadrature< 8, ctype > |
| |
| struct | GLQuadrature< 9, ctype > |
| |
| struct | GLQuadrature< 96, ctype > |
| |
| class | GMRES |
| |
| class | GSLMinimizer1D |
| | Minimizer in 1D using either the golden section, Brent or quadratic method from GSL. More...
|
| |
| class | GSLSimplexMinimizer |
| | Minimizer using the Nelder-Mead simplex algorithm from GSL. More...
|
| |
| class | HAdaptivity |
| | Implement a simple interface to do all adaptivity tasks, i.e. solution transfer, reinit of dofHandlers, etc. More...
|
| |
| struct | has_n_call_operator_helper |
| |
| class | HDF5Input |
| | A class to output data to a CSV file. More...
|
| |
| class | HDF5Output |
| | A class to output data to a CSV file. More...
|
| |
| class | IndexStack |
| |
| class | Init |
| |
| class | IntegrationLoadBalancer |
| |
| class | Integrator_fT |
| |
| class | Integrator_fT_p2 |
| |
| class | Integrator_fT_p2_1ang |
| |
| class | Integrator_fT_p2_4D_2ang |
| |
| class | Integrator_p2 |
| | Integrator_p2 integrates a kernel \(K(p,\ldots)\) depending on the radial momentum \(p\) as $$ \frac{S_d}{(2\pi)^{d}}\,\int_0^\infty dp^2 p^{d-2} K(p, \ldots) $$ where \(S_d\) is the solid angle in $d$ dimensions. More...
|
| |
| class | Integrator_p2_1ang |
| | Integrator_p2_1ang integrates a kernel \(K(p,\cos,\ldots)\) depending on the radial momentum \(p\) and a single angle on \([0,\pi]\) as $$ \frac{S_d}{2(2\pi)^{d}}\,\int_0^\pi d\cos\,\int_0^\infty dp^2 p^{d-2} K(p,\cos\ldots) $$ where \(S_d\) is the solid angle in \(d\) dimensions. More...
|
| |
| class | Integrator_p2_4D_2ang |
| | Integrator_p2_4D_2ang integrates a kernel \(K(p,\cos_1,\cos_2,\ldots)\) depending on the radial momentum \(p\) and two angles on \([0,\pi]\) as $$ \frac{2\pi}{(2\pi)^{d}} \,\int_0^\pi d\cos_1\,\int_0^\pi d\cos_2\,\int_0^\infty dp^2 p^{d-2} K(p,\cos_1,\cos_2,\ldots) $$ in \(d=4\) dimensions. More...
|
| |
| class | Integrator_p2_4D_3ang |
| | Integrator_p2_4D_3ang integrates a kernel \(K(p,\cos_1,\cos_2,\ldots)\) depending on the radial momentum \(p\) and two angles on \([0,\pi]\) and one angle on \([0,2\pi]\) as $$ \frac{1}{(2\pi)^{d}} \,\int_0^\pi d\cos_1\,\int_0^\pi d\cos_2\,\int_0^{2\pi}d\phi\,\int_0^\infty dp^2 p^{d-2} K(p,\cos_1,\cos_2,\pi,\ldots) $$ in \(d=4\) dimensions. More...
|
| |
| class | IntegratorLat1D |
| |
| class | IntegratorLat2D |
| |
| class | IntegratorLat3D |
| |
| class | IntegratorLat4D |
| |
| struct | is_complex |
| |
| struct | is_complex< complex< T > > |
| |
| struct | is_complex< cxReal< N, T > > |
| |
| class | JSONValue |
| | A wrapper around the boost json value class. More...
|
| |
| class | KINSOL |
| | A newton solver, using local error estimates for each vector component. More...
|
| |
| struct | KokkosNDLambdaWrapper |
| | This is a functor which wraps a lambda. Basically, this is necessary when one wants to call a variadic lambda on an NVIDIA GPU. CUDA seems to be unable to expand the variadic arguments - in contrast, a direct approach does indeed work for openMP or serial compilation. To get around this limitation, the KokkosNDLambdaWrapper packs the indices into an array. If you wonder, whether there's a difference when using tie and tuples: https://godbolt.org/z/M3bG39rsM No. Therefore, we spare the ourselves the hassle and simply use an array. More...
|
| |
| struct | KokkosNDLambdaWrapperReduction |
| | This is a functor which wraps a lambda for reduction. Basically, this is necessary when one wants to call a variadic lambda on an NVIDIA GPU. CUDA seems to be unable to expand the variadic arguments - in contrast, a direct approach does indeed work for openMP or serial compilation. To get around this limitation, the KokkosNDLambdaWrapperReduction packs the indices into an array. Uses compile-time index sequences to extract the first dim args as indices and the last arg as the reduction value, avoiding recursive tuple_first/tuple_cat overhead per GPU thread. More...
|
| |
| struct | KokkosNDRangeHelper |
| |
| struct | KokkosNDRangeHelper< 1, ExecutionSpace > |
| |
| class | LinearCoordinates1D |
| |
| class | LinearInterpolator1D |
| | A linear interpolator for 1D data, both on GPU and CPU. More...
|
| |
| class | LinearInterpolator2D |
| | A linear interpolator for 2D data, both on GPU and CPU. More...
|
| |
| class | LinearInterpolator3D |
| | A linear interpolator for 3D data, both on GPU and CPU. More...
|
| |
| struct | LinearInterpolatorND_helper |
| |
| struct | LinearInterpolatorND_helper< 1, NT, Coordinates, DefaultMemorySpace > |
| |
| struct | LinearInterpolatorND_helper< 2, NT, Coordinates, DefaultMemorySpace > |
| |
| struct | LinearInterpolatorND_helper< 3, NT, Coordinates, DefaultMemorySpace > |
| |
| struct | LitimRegulator |
| | Implements the Litim regulator, i.e. More...
|
| |
| class | LogarithmicCoordinates1D |
| |
| class | MatsubaraQuadrature |
| | A quadrature rule for (bosonic) Matsubara frequencies, based on the method of Monien [1]. This class provides nodes and weights for the summation. More...
|
| |
| struct | named_tuple |
| | A class to store a tuple with elements that can be accessed by name. The names are stored as FixedString objects and their lookup is done at compile time. More...
|
| |
| class | Newton |
| | A newton solver, using local error estimates for each vector component. More...
|
| |
| class | NoAdaptivity |
| |
| struct | NodeDistribution |
| |
| class | Polynomial |
| | A class representing a polynomial. More...
|
| |
| struct | PolynomialExpRegulator |
| | Implements a regulator given by. More...
|
| |
| struct | PolynomialExpRegulatorOpts |
| |
| class | Quadrature |
| |
| class | QuadratureIntegrator |
| | This class performs numerical integration over a d-dimensional hypercube using quadrature rules. More...
|
| |
| class | QuadratureIntegrator< dim, NT, KERNEL, TBB_exec > |
| |
| class | QuadratureIntegrator_fT |
| |
| class | QuadratureIntegrator_fT< dim, NT, KERNEL, TBB_exec > |
| |
| class | QuadratureProvider |
| | A class that provides quadrature points and weights, in host and device memory. The quadrature points and weights are computed either the GSL quadratures or the MatsubaraQuadrature class. This avoids recomputing the quadrature points and weights for each integrator. More...
|
| |
| struct | QuadratureType |
| |
| struct | RationalExpRegulator |
| | Implements a regulator given by. More...
|
| |
| struct | RationalExpRegulatorOpts |
| |
| class | RectangularMesh |
| | Class to manage the discretization mesh, also called grid and triangluation, on which we simulate. This class only builds cartesian, regular grids, however cell density in all directions can be chosen independently. More...
|
| |
| struct | Scalar |
| |
| class | SimpleMatrix |
| | A simple NxM-matrix class, which is used for cell-wise Jacobians. More...
|
| |
| struct | SmoothedLitimRegulator |
| | Implements one of the standard exponential regulators, i.e. More...
|
| |
| struct | SmoothedLitimRegulatorOpts |
| |
| class | SplineInterpolator1D |
| | A spline interpolator for 1D data, both on GPU and CPU. More...
|
| |
| class | SplineInterpolator1DStack |
| | A linear interpolator for 1D data, using texture memory on the GPU and floating point arithmetic on the CPU. More...
|
| |
| struct | stepperChoice |
| |
| struct | StringSet |
| |
| class | SubCoordinates |
| |
| struct | SubDescriptor |
| |
| struct | SumPlus |
| | An extension of the Kokkos::Sum reducer that adds a constant value to the result. More...
|
| |
| struct | TBB_ExecutionSpace |
| | This execution space is optimal when used in conjunction with the FE discretizations. More...
|
| |
| class | TC_Default |
| | This is a default time controller implementation which should be used as a base class for any other time controller. It only implements the basic tasks that should be done when advancing time, i.e. saving, logging if the stepper got stuck, checking if the simulation is finished and restricting the minimal timestep. More...
|
| |
| class | TC_PI |
| | A simple PI controller which adjusts time steps in a smooth fashion depending on how well the solver performs, taking into account the most recent time step, too. More...
|
| |
| class | TimeStepperBoostABM |
| | A class to perform time stepping using the Boost Adams-Bashforth-Moulton method. This stepper uses fixed time steps and is fully explicit. More...
|
| |
| class | TimeStepperBoostRK |
| | A class to perform time stepping using adaptive Boost Runge-Kutta methods. This stepper uses adaptive time steps and is fully explicit. More...
|
| |
| class | TimeStepperExplicitEuler |
| |
| class | TimeStepperImplicitEuler |
| |
| class | TimeStepperRK |
| |
| class | TimeStepperSUNDIALS_IDA |
| | A class to perform time stepping using the SUNDIALS IDA solver. This stepper uses adaptive time steps and is fully implicit. Furthermore, IDA allows for the solution of DAEs. More...
|
| |
| class | TimeStepperSUNDIALS_IDA_BoostABM |
| | A class to perform time stepping using the Boost Adams-Bashforth-Moulton method for the explicit part and SUNDIALS IDA for the implicit part. This stepper uses fixed time steps in the explicit part and adaptive time steps in the implicit part. IDA acts as the controller and the ABM stepper solves the explicit part of the problem on-demand. More...
|
| |
| class | TimeStepperSUNDIALS_IDA_BoostRK |
| | A class to perform time stepping using the adaptive Boost Runge-Kutta method for the explicit part and SUNDIALS IDA for the implicit part. In this scheme, the IDA stepper is the controller and the Boost RK stepper solves the explicit part of the problem on-demand. More...
|
| |
| class | TimeStepperTRBDF2 |
| |
| class | UMFPack |
| |
|
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | real (const autodiff::Real< N, T > &a) |
| |
| template<size_t N, typename T > |
| constexpr KOKKOS_FORCEINLINE_FUNCTION auto | imag (const autodiff::Real< N, T > &) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | real (const cxReal< N, T > &x) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | imag (const cxReal< N, T > &x) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator* (const autodiff::Real< N, T > &x, const complex< double > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator* (const complex< double > &x, const autodiff::Real< N, T > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator+ (const autodiff::Real< N, T > &x, const complex< double > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator+ (const complex< double > &x, const autodiff::Real< N, T > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator- (const autodiff::Real< N, T > &x, const complex< double > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator- (const complex< double > &x, const autodiff::Real< N, T > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator/ (const autodiff::Real< N, T > &x, const complex< double > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator/ (const complex< double > &x, const autodiff::Real< N, T > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator* (const autodiff::Real< N, T > &x, const cxReal< N, T > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator* (const cxReal< N, T > &x, const autodiff::Real< N, T > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator+ (const autodiff::Real< N, T > &x, const cxReal< N, T > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator+ (const cxReal< N, T > &x, const autodiff::Real< N, T > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator- (const autodiff::Real< N, T > &x, const cxReal< N, T > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator- (const cxReal< N, T > &x, const autodiff::Real< N, T > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator/ (const autodiff::Real< N, T > &x, const cxReal< N, T > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator/ (const cxReal< N, T > &x, const autodiff::Real< N, T > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator* (const complex< double > &x, const cxReal< N, T > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator* (const cxReal< N, T > &x, const complex< double > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator+ (const complex< double > &x, const cxReal< N, T > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator+ (const cxReal< N, T > &x, const complex< double > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator- (const complex< double > &x, const cxReal< N, T > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator- (const cxReal< N, T > &x, const complex< double > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator/ (const cxReal< N, T > &x, const complex< double > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator/ (const complex< double > &x, const cxReal< N, T > &y) |
| |
| template<size_t N, typename T > |
| KOKKOS_FORCEINLINE_FUNCTION auto | operator/ (const double x, const cxReal< N, T > &y) |
| |
| void | dealii_to_eigen (const dealii::Vector< double > &dealii, Eigen::VectorXd &eigen) |
| | Converts a dealii vector to an Eigen vector.
|
| |
| void | dealii_to_eigen (const dealii::BlockVector< double > &dealii, Eigen::VectorXd &eigen) |
| | Converts a dealii block vector to an Eigen vector.
|
| |
| void | eigen_to_dealii (const Eigen::VectorXd &eigen, dealii::Vector< double > &dealii) |
| | Converts an Eigen vector to a dealii vector.
|
| |
| void | eigen_to_dealii (const Eigen::VectorXd &eigen, dealii::BlockVector< double > &dealii) |
| | Converts an Eigen vector to a dealii block vector.
|
| |
| template<unsigned N> |
| | FixedString (char const (&)[N]) -> FixedString< N - 1 > |
| |
| template<unsigned N1, unsigned N2> |
| consteval bool | strings_equal (FixedString< N1 > s1, FixedString< N2 > s2) |
| |
| template<int dim, typename T , typename ExecutionSpace > |
| auto | make_kokkos_nd_view (const std::string &label, const device::array< size_t, dim > &extents) |
| |
| template<int dim, typename T , typename ExecutionSpace > |
| auto | make_kokkos_nd_view_restrict (const std::string &label, const device::array< size_t, dim > &extents) |
| |
| template<int dim> |
| device::array< size_t, dim > | compute_tile_hints (const device::array< size_t, dim > &extents, size_t max_threads=256) |
| | Compute clamped tile sizes for MDRangePolicy so that the product of tile dimensions does not exceed max_threads. Fills from the innermost (last) dimension outward.
|
| |
| template<int dim, typename ExecutionSpace > |
| auto | make_kokkos_nd_range (ExecutionSpace &space, const device::array< size_t, dim > start, const device::array< size_t, dim > end) |
| |
| template<int dim, typename ExecutionSpace > |
| auto | make_kokkos_nd_range (ExecutionSpace &space, const device::array< size_t, dim > start, const device::array< size_t, dim > end, const device::array< size_t, dim > tile) |
| |
| template<int dim, typename TeamType > |
| KOKKOS_FORCEINLINE_FUNCTION auto | make_kokkos_nd_thread_range (const TeamType &team, const device::array< size_t, dim > end) |
| |
| template<size_t N, typename T > |
| bool | isfinite (const autodiff::Real< N, T > &x) |
| | Finite-ness check for autodiff::real.
|
| |
template<int n, typename NumberType >
requires requires(NumberType x) { x * x; NumberType(1.) / x; } |
| constexpr KOKKOS_INLINE_FUNCTION NumberType | powr (const NumberType x) |
| | A compile-time evaluatable power function for whole number exponents.
|
| |
template<typename NumberType >
requires std::is_integral_v<NumberType> |
| constexpr KOKKOS_INLINE_FUNCTION NumberType | factorial (const NumberType &x) |
| |
| template<typename NT > |
| constexpr KOKKOS_INLINE_FUNCTION double | V_d (NT d) |
| | Volume of a d-dimensional sphere.
|
| |
| template<typename NT1 , typename NT2 > |
| constexpr KOKKOS_INLINE_FUNCTION double | V_d (NT1 d, NT2 extent) |
| | Volume of a d-dimensional sphere with extent.
|
| |
| template<typename NT > |
| constexpr KOKKOS_INLINE_FUNCTION double | S_d (NT d) |
| | Surface of a d-dimensional sphere.
|
| |
| template<typename NT > |
| consteval NT | S_d_prec (uint d) |
| | Surface of a d-dimensional sphere (precompiled)
|
| |
template<typename NumberType >
requires requires(NumberType x) { x >= 0; } |
| constexpr KOKKOS_INLINE_FUNCTION auto | heaviside_theta (const NumberType x) |
| | A compile-time evaluatable theta function.
|
| |
template<typename NumberType >
requires requires(NumberType x) { x >= 0; } |
| constexpr KOKKOS_INLINE_FUNCTION auto | sign (const NumberType x) |
| | A compile-time evaluatable sign function.
|
| |
template<typename T1 , typename T2 , typename T3 >
requires (std::is_floating_point<T1>::value || std::is_same_v<T1, autodiff::real> || is_complex<T1>::value) && (std::is_floating_point<T2>::value || std::is_same_v<T2, autodiff::real> || is_complex<T2>::value) && std::is_floating_point<T3>::value |
| bool KOKKOS_INLINE_FUNCTION | is_close (T1 a, T2 b, T3 eps_) |
| | Function to evaluate whether two floats are equal to numerical precision. Tests for both relative and absolute equality.
|
| |
template<typename T1 , typename T2 >
requires (std::is_floating_point<T1>::value || std::is_same_v<T1, autodiff::real> || is_complex<T1>::value) && (std::is_floating_point<T2>::value || std::is_same_v<T2, autodiff::real> || is_complex<T1>::value) |
| bool KOKKOS_INLINE_FUNCTION | is_close (T1 a, T2 b) |
| | Function to evaluate whether two floats are equal to numerical precision. Tests for both relative and absolute equality.
|
| |
template<uint n, typename NT , typename A1 , typename A2 >
requires requires(A1 a1, A2 a2) { a1[0] * a2[0]; } |
| NT | dot (const A1 &a1, const A2 &a2) |
| | A dot product which takes the dot product between a1 and a2, assuming each has n entries which can be accessed via the [] operator.
|
| |
| template<typename T > |
| void | diagonalize_tridiagonal_symmetric_matrix (std::vector< T > &d, std::vector< T > &e, std::vector< T > &z) |
| | Diagonalizes a symmetric tridiagonal matrix.
|
| |
| template<typename T > |
| void | make_quadrature (std::vector< T > &a, std::vector< T > &b, const T mu0, std::vector< T > &x, std::vector< T > &w) |
| | Obtain the quadrature rule from a given three-term recurrence relation.
|
| |
| bool | operator< (const QuadratureType &x, const QuadratureType &y) |
| |
| template<int dim, typename NT , typename FUN > |
| NT | TBBReduction (const device::array< size_t, dim > &grid_size, const FUN &functor) |
| |
| constexpr bool | strings_equal (char const *a, char const *b) |
| | Check if two strings are equal at compile time.
|
| |
| template<FixedString name, typename tuple_type , typename strSet > |
| constexpr auto & | get (named_tuple< tuple_type, strSet > &ob) |
| | get a reference to the element with the given name
|
| |
| template<FixedString name, typename tuple_type , typename strSet > |
| constexpr auto & | get (named_tuple< tuple_type, strSet > &&ob) |
| |
| template<FixedString name, typename tuple_type , typename strSet > |
| constexpr auto & | get (const named_tuple< tuple_type, strSet > &ob) |
| |
| template<uint n, typename NT , typename Vector > |
| std::array< NT, n > | vector_to_array (const Vector &v) |
| |
| template<typename T , std::size_t... Indices> |
| auto | vector_to_tuple_helper (const std::vector< T > &v, std::index_sequence< Indices... >) |
| |
| template<std::size_t N, typename T > |
| auto | vector_to_tuple (const std::vector< T > &v) |
| |
| template<typename Head , typename... Tail> |
| constexpr auto | tuple_tail (const std::tuple< Head, Tail... > &t) |
| |
| template<typename tuple_type , typename strSet > |
| constexpr auto | tuple_tail (const named_tuple< tuple_type, strSet > &t) |
| |
| template<int i, typename Head , typename... Tail> |
| constexpr auto | tuple_last (const std::tuple< Head, Tail... > &t) |
| |
| template<int i, typename tuple_type , typename strSet > |
| constexpr auto | tuple_last (const named_tuple< tuple_type, strSet > &t) |
| |
| template<int i, typename Head , typename... Tail> |
| constexpr auto | tuple_first (const std::tuple< Head, Tail... > &t) |
| |
| template<int i, typename tuple_type , typename strSet > |
| constexpr auto | tuple_first (const named_tuple< tuple_type, strSet > &t) |
| |
| template<typename T , size_t N, size_t... IDXs> |
| auto | _local_sol_tuple (const std::array< T, N > &a, std::index_sequence< IDXs... >, uint q_index) |
| |
| template<typename T , size_t N> |
| auto | local_sol_q (const std::array< T, N > &a, uint q_index) |
| |
| template<typename T_inner , typename Model , size_t... IDXs> |
| auto | _jacobian_tuple (std::index_sequence< IDXs... >) |
| |
| template<typename T_inner , typename Model > |
| auto | jacobian_tuple () |
| |
| template<typename T_inner , typename Model , size_t... IDXs> |
| auto | _jacobian_2_tuple (std::index_sequence< IDXs... >) |
| |
| template<typename T_inner , typename Model > |
| auto | jacobian_2_tuple () |
| |
| template<auto Start, auto End, auto Inc, class F > |
| constexpr void | constexpr_for (F &&f) |
| | A compile-time for loop, which calls the lambda f of signature void(integer) for each index.
|
| |
| std::shared_ptr< spdlog::logger > | build_logger (const std::string &name, const std::string &filename) |
| |
| std::string | strip_name (const std::string &name) |
| | Strips all special characters from a string, e.g. for use in filenames.
|
| |
| std::vector< double > | string_to_double_array (const std::string &str) |
| | Takes a string of comma-separated numbers and outputs it as a vector.
|
| |
| template<typename T > |
| std::string | getWithPrecision (uint precision, T number) |
| | Return number with fixed precision after the decimal point.
|
| |
| bool | file_exists (const std::string &name) |
| | Checks if a file exists.
|
| |
| template<typename T > |
| std::string | to_string_with_digits (const T number, const int digits) |
| | Return number with fixed significant digits.
|
| |
| std::string | make_folder (const std::string &path) |
| | Add a trailing '/' to a string, in order for it to be in standard form of a folder path.
|
| |
| bool | create_folder (const std::string &path_) |
| | Creates the directory path, even if its parent directories should not exist.
|
| |
| std::string | time_format (size_t time_in_seconds) |
| | Nice output from seconds to h/min/s style string.
|
| |
template<typename T >
requires (!std::is_same_v<T, size_t>) |
| std::string | time_format (T time_in_seconds) |
| |
| std::string | time_format_ms (size_t time_in_miliseconds) |
| | Nice output from seconds to h/min/s style string.
|
| |
| bool | has_suffix (const std::string &str, const std::string &suffix) |
| |
| template<typename VectorType , typename EoMFUN , typename EoMPFUN > |
| dealii::Point< 1 > | get_EoM_point_1D (typename dealii::DoFHandler< 1 >::cell_iterator &EoM_cell, const VectorType &sol, const dealii::DoFHandler< 1 > &dof_handler, const dealii::Mapping< 1 > &mapping, const EoMFUN &get_EoM, const EoMPFUN &EoM_postprocess=[](const auto &p, const auto &values) { return p;}, const double EoM_abs_tol=1e-8, const uint max_iter=100) |
| | Get the EoM point for a given solution and model in 1D. This is done by first checking the origin, and then checking all cell borders in order to find a zero crossing. Then, the EoM point is found by bisection within the cell.
|
| |
| template<int dim, typename VectorType , typename EoMFUN , typename EoMPFUN > |
| dealii::Point< dim > | get_EoM_point_ND (typename dealii::DoFHandler< dim >::cell_iterator &EoM_cell, const VectorType &sol, const dealii::DoFHandler< dim > &dof_handler, const dealii::Mapping< dim > &mapping, const EoMFUN &get_EoM, const EoMPFUN &EoM_postprocess=[](const auto &p, const auto &values) { return p;}, const double EoM_abs_tol=1e-8, const uint max_iter=100) |
| | Get the EoM point for a given solution and model in 2D. This is done by first checking the origin, and then checking all cell borders in order to find a zero crossing. Then, the EoM point is found by bisection within the cell.
|
| |
| template<int dim, typename VectorType , typename EoMFUN , typename EoMPFUN > |
| dealii::Point< dim > | get_EoM_point (typename dealii::DoFHandler< dim >::cell_iterator &EoM_cell, const VectorType &sol, const dealii::DoFHandler< dim > &dof_handler, const dealii::Mapping< dim > &mapping, const EoMFUN &get_EoM, const EoMPFUN &EoM_postprocess=[](const auto &p, const auto &values) { return p;}, const double EoM_abs_tol=1e-5, const uint max_iter=100) |
| | Get the EoM point for a given solution and model.
|
| |
| template<typename Coordinates > |
| auto | make_grid (const Coordinates &coordinates) |
| |
| template<typename Coordinates > |
| auto | make_idx_grid (const Coordinates &coordinates) -> std::vector< double > |
| |
| template<typename Coordinates > |
| std::vector< typename Coordinates::ctype > | dump_grid (const Coordinates &coordinates) |
| |
template<typename Int >
requires DiFfRG::has_set_k<Int> |
| void | invoke_set_k (Int &integrator, const double k) |
| |
template<typename Int >
requires (!DiFfRG::has_set_k<Int>) |
| void | invoke_set_k (Int &, const double) |
| |
template<typename Int >
requires DiFfRG::has_integrator_AD<Int> |
| void | all_set_k (Int &integrator, const double k) |
| |
template<typename Int >
requires (!DiFfRG::has_integrator_AD<Int>) |
| void | all_set_k (Int &integrator, const double k) |
| |
template<typename Int >
requires DiFfRG::has_set_T<Int> |
| void | invoke_set_T (Int &integrator, const double T) |
| |
template<typename Int >
requires (!DiFfRG::has_set_T<Int>) |
| void | invoke_set_T (Int &, const double) |
| |
template<typename Int >
requires DiFfRG::has_integrator_AD<Int> |
| void | all_set_T (Int &integrator, const double T) |
| |
template<typename Int >
requires (!DiFfRG::has_integrator_AD<Int>) |
| void | all_set_T (Int &integrator, const double T) |
| |
template<typename Int >
requires DiFfRG::has_set_typical_E<Int> |
| void | invoke_set_typical_E (Int &integrator, const double typical_E) |
| |
template<typename Int >
requires (!DiFfRG::has_set_typical_E<Int>) |
| void | invoke_set_typical_E (Int &, const double) |
| |
template<typename Int >
requires DiFfRG::has_integrator_AD<Int> |
| void | all_set_typical_E (Int &integrator, const double typical_E) |
| |
template<typename Int >
requires (!DiFfRG::has_integrator_AD<Int>) |
| void | all_set_typical_E (Int &integrator, const double typical_E) |
| |
template<typename Int >
requires DiFfRG::has_set_x_extent<Int> |
| void | invoke_set_x_extent (Int &integrator, const double x_extent) |
| |
template<typename Int >
requires (!DiFfRG::has_set_x_extent<Int>) |
| void | invoke_set_x_extent (Int &, const double) |
| |
template<typename Int >
requires DiFfRG::has_integrator_AD<Int> |
| void | all_set_x_extent (Int &integrator, const double x_extent) |
| |
template<typename Int >
requires (!DiFfRG::has_integrator_AD<Int>) |
| void | all_set_x_extent (Int &integrator, const double x_extent) |
| |
| template<typename NT , typename KERNEL , typename ctype , int dim, typename... ARGS> |
| NT | multidim_kernel_call (const ARGS &...args) |
| |
| template<typename NT , typename KERNEL , typename ctype , int dim, typename... ARGS> |
| consteval void | check_kernel_requirements () |
| |
| template<typename Regulator , int dim = 4> |
| double | optimize_x_extent (const JSONValue &json) |
| |
template<typename T1 , typename T2 >
requires (std::is_arithmetic_v<T2>) |
| auto KOKKOS_FORCEINLINE_FUNCTION | CothFiniteT (const T1 x, const T2 T) |
| |
template<typename T1 , typename T2 >
requires (std::is_arithmetic_v<T2>) |
| auto KOKKOS_FORCEINLINE_FUNCTION | TanhFiniteT (const T1 x, const T2 T) |
| |
template<typename T1 , typename T2 >
requires (std::is_arithmetic_v<T2>) |
| auto KOKKOS_FORCEINLINE_FUNCTION | SechFiniteT (const T1 x, const T2 T) |
| |
template<typename T1 , typename T2 >
requires (std::is_arithmetic_v<T2>) |
| auto KOKKOS_FORCEINLINE_FUNCTION | CschFiniteT (const T1 x, const T2 T) |
| |
| template<typename T1 , typename T2 > |
| auto KOKKOS_FORCEINLINE_FUNCTION | cothS (const T1 e, const T2 T) |
| |
| template<typename T1 , typename T2 > |
| auto KOKKOS_FORCEINLINE_FUNCTION | dcothS (const T1 e, const T2 T) |
| |
| template<typename T1 , typename T2 > |
| auto KOKKOS_FORCEINLINE_FUNCTION | ddcothS (const T1 e, const T2 T) |
| |
| template<typename T1 , typename T2 > |
| auto KOKKOS_FORCEINLINE_FUNCTION | dddcothS (const T1 e, const T2 T) |
| |
| template<typename T1 , typename T2 > |
| auto KOKKOS_FORCEINLINE_FUNCTION | tanhS (const T1 e, const T2 T) |
| |
| template<typename T1 , typename T2 > |
| auto KOKKOS_FORCEINLINE_FUNCTION | dtanhS (const T1 e, const T2 T) |
| |
| template<typename T1 , typename T2 > |
| auto KOKKOS_FORCEINLINE_FUNCTION | ddtanhS (const T1 e, const T2 T) |
| |
| template<typename T1 , typename T2 > |
| auto KOKKOS_FORCEINLINE_FUNCTION | sechS (const T1 e, const T2 T) |
| |
| template<typename T1 , typename T2 > |
| auto KOKKOS_FORCEINLINE_FUNCTION | cschS (const T1 e, const T2 T) |
| |
| template<typename T1 , typename T2 > |
| auto KOKKOS_FORCEINLINE_FUNCTION | nB (const T1 e, const T2 T) |
| |
| template<typename T1 , typename T2 > |
| auto KOKKOS_FORCEINLINE_FUNCTION | dnB (const T1 e, const T2 T) |
| |
| template<typename T1 , typename T2 > |
| auto KOKKOS_FORCEINLINE_FUNCTION | ddnB (const T1 e, const T2 T) |
| |
| template<typename T1 , typename T2 > |
| auto KOKKOS_FORCEINLINE_FUNCTION | nF (const T1 e, const T2 T) |
| |
| template<typename T1 , typename T2 > |
| auto KOKKOS_FORCEINLINE_FUNCTION | dnF (const T1 e, const T2 T) |
| |