/home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/physics/integration/finiteT/integrator_fT.hh Source File#

DiFfRG: /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/physics/integration/finiteT/integrator_fT.hh Source File
DiFfRG
integrator_fT.hh
Go to the documentation of this file.
1
2#pragma once
3
4// DiFfRG
7
8namespace DiFfRG
9{
10 template <int dim, typename NT, typename KERNEL, typename ExecutionSpace>
11 requires(dim == 1)
12 class Integrator_fT : public QuadratureIntegrator_fT<1, NT, KERNEL, ExecutionSpace>
13 {
15
16 public:
20 using ctype = typename get_type::ctype<NT>;
24 using execution_space = ExecutionSpace;
25
26 Integrator_fT(QuadratureProvider &quadrature_provider, const JSONValue &json)
28 : Integrator_fT(quadrature_provider, internal::make_int_grid<2, NT>(json, {"x_order", "cos1_order"}),
29 json.get_double("T", 1.0))
30 {
31 }
32
33 Integrator_fT(QuadratureProvider &quadrature_provider, ctype T = 1, ctype typical_E = 1)
34 : Base(quadrature_provider, {}, {}, {}, {}, T, typical_E)
35 {
36 }
37
38 void set_k(ctype k)
39 {
40 Base::set_typical_E(k); // update typical energy
41 }
42
43 void set_typical_E(ctype typical_E) { Base::set_typical_E(typical_E); }
44 };
45} // namespace DiFfRG
Definition integrator_fT.hh:13
ExecutionSpace execution_space
Execution space to be used for the integration, e.g. GPU_exec, TBB_exec.
Definition integrator_fT.hh:24
void set_k(ctype k)
Definition integrator_fT.hh:38
Integrator_fT(QuadratureProvider &quadrature_provider, ctype T=1, ctype typical_E=1)
Definition integrator_fT.hh:33
Integrator_fT(QuadratureProvider &quadrature_provider, const JSONValue &json)
Definition integrator_fT.hh:26
void set_typical_E(ctype typical_E)
Definition integrator_fT.hh:43
typename get_type::ctype< NT > ctype
Numerical type to be used for integration tasks e.g. the argument or possible jacobians.
Definition integrator_fT.hh:20
A wrapper around the boost json value class.
Definition json.hh:19
Definition quadrature_integrator_fT.hh:19
A class that provides quadrature points and weights, in host and device memory. The quadrature points...
Definition quadrature_provider.hh:137
Definition abstract_integrator.hh:28
typename internal::_ctype< CT >::value ctype
Definition types.hh:134
std::array< size_t, dim > make_int_grid(const JSONValue &json, const std::array< std::string, dim > &names)
Definition abstract_integrator.hh:13
Definition complex_math.hh:10