/home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/model/model.hh Source File#
|
DiFfRG
Discretization Framework for functional Renormalization Group flows
|
model.hh
Go to the documentation of this file.
84 template <int dim, typename Vector> void initial_condition(const Point<dim> &x, Vector &u_i) const = delete;
103 template <int dim, typename NumberType, typename Vector, typename Vector_dot, size_t n_fe_functions>
206 void diffusion_flux([[maybe_unused]] std::array<Tensor<1, dim, NumberType>, n_fe_functions> &F_i,
322 template <size_t n_fe_functions> void wave_speed_blocks(std::array<int, n_fe_functions> &blocks) const
393 template <uint dependent, int dim, typename NumberType, typename Vector, size_t n_fe_functions_dep>
421 template <uint dependent, int dim, typename NumberType, typename Vector, size_t n_fe_functions_dep>
435 void cell_indicator([[maybe_unused]] NumberType &indicator, [[maybe_unused]] const Point<dim> &p,
467 std::array<double, dim> raw_potential_gradient([[maybe_unused]] const Point<dim> &x, const Vector &u) const
483 template <int dim, typename Vector> Point<dim> EoM_postprocess(const Point<dim> &EoM, const Vector &) const
553 std::vector<types::global_dof_index> select_origin_candidates([[maybe_unused]] const Context &context,
589 std::optional<types::global_dof_index> select_origin_candidate(const Context &context, const auto &view)
A hierarchical configuration tree, readable from JSON and TOML files.
Definition config_tree.hh:32
The abstract interface for any numerical model. Most methods have a standard implementation,...
Definition model.hh:45
std::vector< bool > differential_components() const
A method to find out which components of the mass function are differential when using a DAE.
Definition model.hh:250
void dt_variables(Vector &r_a, const Solution &sol) const
Definition model.hh:339
std::array< double, dim > raw_potential_gradient(const Point< dim > &x, const Vector &u) const
The unmodified gradient of the scalar potential reconstructed for readouts and extractors.
Definition model.hh:467
void source(std::array< NumberType, n_fe_functions > &s_i, const Point< dim > &x, const Solutions &sol) const
The source function is implemented by this method.
Definition model.hh:236
void diffusion_flux(std::array< Tensor< 1, dim, NumberType >, n_fe_functions > &F_i, const Point< dim > &x, const Solutions &sol) const
If the Kurganov Tadmor Scheme is used, this is the implementation of the diffusion (parabolic) part o...
Definition model.hh:206
void mass(std::array< std::array< NumberType, n_fe_functions >, n_fe_functions > &m_ij, const Point< dim > &x) const
If not using a DAE, the mass matrix is implemented in this method.
Definition model.hh:126
void extract(Vector &result, const Point< dim > &x, const Solutions &sol) const
Read data off the FE solution at a single point and hand it to the Variables.
Definition model.hh:360
void flux(std::array< Tensor< 1, dim, NumberType >, n_fe_functions > &F_i, const Point< dim > &x, const Solutions &sol) const
The flux function is implemented by this method.
Definition model.hh:172
void cell_indicator(NumberType &indicator, const Point< dim > &p, const Solution &sol) const
Definition model.hh:435
void ldg_flux(std::array< Tensor< 1, dim, NumberType >, n_fe_functions_dep > &F, const Point< dim > &x, const Vector &u) const
The LDG flux function is implemented by this method.
Definition model.hh:394
void affine_constraints(Constraints &constraints, const Context &context) const
Add affine constraints to the FE/DG system before sparsity patterns and operators are rebuilt.
Definition model.hh:514
void wave_speed_blocks(std::array< int, n_fe_functions > &blocks) const
Which FE components share a wave speed, and which carry no hyperbolic flux at all.
Definition model.hh:322
void mass(std::array< NumberType, n_fe_functions > &m_i, const Point< dim > &x, const Vector &u_i, const Vector_dot &dt_u_i) const
The mass function is implemented in this method.
Definition model.hh:104
void readouts_multiple(FUN &helper, DataOut &) const
Definition model.hh:488
void initial_condition(const Point< dim > &x, Vector &u_i) const =delete
This method implements the initial condition for the FE functions.
void ldg_source(std::array< NumberType, n_fe_functions_dep > &s, const Point< dim > &x, const Vector &u) const
The LDG source function is implemented by this method.
Definition model.hh:422
std::array< double, dim > EoM(const Point< dim > &x, const Vector &u) const
Definition model.hh:441
void initial_condition_variables(Vector &v_a) const
Definition model.hh:333
void readouts(DataOut &output, const Point< dim > &x, const Solutions &sol) const
Definition model.hh:496
Point< dim > EoM_postprocess(const Point< dim > &EoM, const Vector &) const
Relocate the point found by the EoM search, given the solution values there.
Definition model.hh:483
void face_indicator(std::array< NumberType, 2 > &indicator, const Tensor< 1, dim > &normal, const Point< dim > &p, const Solutions_s &sol_s, const Solutions_n &sol_n) const
Definition model.hh:428
static constexpr bool extract_uses_potential
Whether extract() reads the reconstructed potential handed to it.
Definition model.hh:456
Constrain the boundary dofs of a named scalar FE-function component nearest its origin coordinate to ...
Definition model.hh:610
void apply_boundary_affine_constraints(Constraints &constraints, const Context &context) const
Definition model.hh:613
Constrain the support dofs of a named scalar FE-function component nearest its origin coordinate to z...
Definition model.hh:632
void apply_affine_constraints(Constraints &constraints, const Context &context) const
Definition model.hh:635
Definition model.hh:647
Definition model.hh:651
const double & get_time() const
void set_time(double t)
The fRG class is used to keep track of the RG time and the cutoff scale.
Definition model.hh:667
fRG(double Lambda)
Construct a new fRG object from a given initial cutoff scale.
fRG(const ConfigTree &config)
Construct a new fRG object from a given ConfigTree object.
void set_time(double t)
Set the time of the fRG object, updating the cutoff scale and its powers.
std::vector< types::global_dof_index > select_origin_candidates(const Context &context, const auto &view)
Definition model.hh:553
double origin_constraint_coordinate(const Point< dim > &point)
Definition model.hh:534
std::optional< types::global_dof_index > select_origin_candidate(const Context &context, const auto &view)
Definition model.hh:589
constexpr int no_wave_speed
Block id for a component that carries no hyperbolic flux.
Definition model.hh:33
Definition complex_math.hh:10
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...
Definition math.hh:177
Generated by