41 typedef boost::fusion::map <
43 boost::fusion::pair<equation::euler::Euler<1>,
44 boost::fusion::vector<
47 Central<equation::euler::Euler<1>>,
49 TecnoCombined4<equation::euler::Euler<1>, euler::Tecno1<1> >,
50 TecnoCombined6<equation::euler::Euler<1>, euler::Tecno1<1> >
54 boost::fusion::pair<equation::euler::Euler<2>,
55 boost::fusion::vector<
58 Central<equation::euler::Euler<2>>,
60 TecnoCombined4<equation::euler::Euler<2>, euler::Tecno1<2> >,
61 TecnoCombined6<equation::euler::Euler<2>, euler::Tecno1<2> >
65 boost::fusion::pair<equation::euler::Euler<3>,
66 boost::fusion::vector<
69 Central<equation::euler::Euler<3>>,
71 TecnoCombined4<equation::euler::Euler<3>, euler::Tecno1<3> >,
72 TecnoCombined6<equation::euler::Euler<3>, euler::Tecno1<3> >
76 boost::fusion::pair < equation::burgers::Burgers,
77 boost::fusion::vector <
78 Central<equation::burgers::Burgers>,
79 Rusanov<equation::burgers::Burgers>,
82 ScalarEntropyConservativeFlux<equation::burgers::Burgers>,
83 TecnoCombined4<equation::burgers::Burgers, ScalarEntropyConservativeFlux<equation::burgers::Burgers> >,
84 TecnoCombined4<::alsfvm::equation::burgers::Burgers, burgers::Godunov>,
85 TecnoCombined6<equation::burgers::Burgers, ScalarEntropyConservativeFlux<equation::burgers::Burgers> >,
86 TecnoCombined6<::alsfvm::equation::burgers::Burgers, burgers::Godunov>
90 boost::fusion::pair < equation::buckleyleverett::BuckleyLeverett,
91 boost::fusion::vector <
92 Central<equation::buckleyleverett::BuckleyLeverett>,
93 buckleyleverett::Godunov,
94 Rusanov<equation::buckleyleverett::BuckleyLeverett>
98 boost::fusion::pair < equation::cubic::Cubic,
99 boost::fusion::vector <
100 Central<equation::cubic::Cubic>,
102 Rusanov<equation::cubic::Cubic>
106 boost::fusion::pair < equation::linear::Linear,
107 boost::fusion::vector <
108 Central<equation::linear::Linear>,
109 Rusanov<equation::linear::Linear>,
116 template<
class Equation,
class Function>
122 boost::fusion::for_each(boost::fusion::at_key<Equation>(map), f);
130 #define ALSFVM_FLUX_INSTANTIATE(X) \ 131 template class X< ::alsfvm::numflux::euler::HLL<1>, ::alsfvm::equation::euler::Euler<1>, 1>; \ 132 template class X< ::alsfvm::numflux::euler::HLL<1>, ::alsfvm::equation::euler::Euler<1>, 2>; \ 133 template class X< ::alsfvm::numflux::euler::HLL<1>, ::alsfvm::equation::euler::Euler<1>, 3>; \ 134 template class X< ::alsfvm::numflux::euler::HLL<2>, ::alsfvm::equation::euler::Euler<2>, 1>; \ 135 template class X< ::alsfvm::numflux::euler::HLL<2>, ::alsfvm::equation::euler::Euler<2>, 2>; \ 136 template class X< ::alsfvm::numflux::euler::HLL<2>, ::alsfvm::equation::euler::Euler<2>, 3>; \ 137 template class X< ::alsfvm::numflux::euler::HLL<3>, ::alsfvm::equation::euler::Euler<3>, 1>; \ 138 template class X< ::alsfvm::numflux::euler::HLL<3>, ::alsfvm::equation::euler::Euler<3>, 2>; \ 139 template class X< ::alsfvm::numflux::euler::HLL<3>, ::alsfvm::equation::euler::Euler<3>, 3>; \ 140 template class X< ::alsfvm::numflux::euler::HLL3<1>, ::alsfvm::equation::euler::Euler<1>, 1>; \ 141 template class X< ::alsfvm::numflux::euler::HLL3<1>, ::alsfvm::equation::euler::Euler<1>, 2>; \ 142 template class X< ::alsfvm::numflux::euler::HLL3<1>, ::alsfvm::equation::euler::Euler<1>, 3>; \ 143 template class X< ::alsfvm::numflux::euler::HLL3<2>, ::alsfvm::equation::euler::Euler<2>, 1>; \ 144 template class X< ::alsfvm::numflux::euler::HLL3<2>, ::alsfvm::equation::euler::Euler<2>, 2>; \ 145 template class X< ::alsfvm::numflux::euler::HLL3<2>, ::alsfvm::equation::euler::Euler<2>, 3>; \ 146 template class X< ::alsfvm::numflux::euler::HLL3<3>, ::alsfvm::equation::euler::Euler<3>, 1>; \ 147 template class X< ::alsfvm::numflux::euler::HLL3<3>, ::alsfvm::equation::euler::Euler<3>, 2>; \ 148 template class X< ::alsfvm::numflux::euler::HLL3<3>, ::alsfvm::equation::euler::Euler<3>, 3>; \ 149 template class X< ::alsfvm::numflux::Central<equation::euler::Euler<1>>, ::alsfvm::equation::euler::Euler<1>, 1>; \ 150 template class X< ::alsfvm::numflux::Central<equation::euler::Euler<1>>, ::alsfvm::equation::euler::Euler<1>, 2>; \ 151 template class X< ::alsfvm::numflux::Central<equation::euler::Euler<1>>, ::alsfvm::equation::euler::Euler<1>, 3>; \ 152 template class X< ::alsfvm::numflux::Central<equation::euler::Euler<2>>, ::alsfvm::equation::euler::Euler<2>, 1>; \ 153 template class X< ::alsfvm::numflux::Central<equation::euler::Euler<2>>, ::alsfvm::equation::euler::Euler<2>, 2>; \ 154 template class X< ::alsfvm::numflux::Central<equation::euler::Euler<2>>, ::alsfvm::equation::euler::Euler<2>, 3>; \ 155 template class X< ::alsfvm::numflux::Central<equation::euler::Euler<3>>, ::alsfvm::equation::euler::Euler<3>, 1>; \ 156 template class X< ::alsfvm::numflux::Central<equation::euler::Euler<3>>, ::alsfvm::equation::euler::Euler<3>, 2>; \ 157 template class X< ::alsfvm::numflux::Central<equation::euler::Euler<3>>, ::alsfvm::equation::euler::Euler<3>, 3>; \ 158 template class X< ::alsfvm::numflux::Central<equation::burgers::Burgers>, ::alsfvm::equation::burgers::Burgers, 1>; \ 159 template class X< ::alsfvm::numflux::Central<equation::burgers::Burgers>, ::alsfvm::equation::burgers::Burgers, 2>; \ 160 template class X< ::alsfvm::numflux::Central<equation::burgers::Burgers>, ::alsfvm::equation::burgers::Burgers, 3>; \ 161 template class X< ::alsfvm::numflux::Rusanov<equation::burgers::Burgers>, ::alsfvm::equation::burgers::Burgers, 1>; \ 162 template class X< ::alsfvm::numflux::Rusanov<equation::burgers::Burgers>, ::alsfvm::equation::burgers::Burgers, 2>; \ 163 template class X< ::alsfvm::numflux::Rusanov<equation::burgers::Burgers>, ::alsfvm::equation::burgers::Burgers, 3>; \ 164 template class X< ::alsfvm::numflux::burgers::Godunov, ::alsfvm::equation::burgers::Burgers, 1>; \ 165 template class X< ::alsfvm::numflux::burgers::Godunov, ::alsfvm::equation::burgers::Burgers, 2>; \ 166 template class X< ::alsfvm::numflux::burgers::Godunov, ::alsfvm::equation::burgers::Burgers, 3>; \ 167 template class X< ::alsfvm::numflux::burgers::Roe, ::alsfvm::equation::burgers::Burgers, 1>; \ 168 template class X< ::alsfvm::numflux::burgers::Roe, ::alsfvm::equation::burgers::Burgers, 2>; \ 169 template class X< ::alsfvm::numflux::burgers::Roe, ::alsfvm::equation::burgers::Burgers, 3>; \ 170 template class X< ::alsfvm::numflux::ScalarEntropyConservativeFlux<::alsfvm::equation::burgers::Burgers>, ::alsfvm::equation::burgers::Burgers, 1>; \ 171 template class X< ::alsfvm::numflux::ScalarEntropyConservativeFlux<::alsfvm::equation::burgers::Burgers>, ::alsfvm::equation::burgers::Burgers, 2>; \ 172 template class X< ::alsfvm::numflux::ScalarEntropyConservativeFlux<::alsfvm::equation::burgers::Burgers>, ::alsfvm::equation::burgers::Burgers, 3>; \ 173 template class X< ::alsfvm::numflux::TecnoCombined4<::alsfvm::equation::burgers::Burgers, ::alsfvm::numflux::ScalarEntropyConservativeFlux<::alsfvm::equation::burgers::Burgers> >, ::alsfvm::equation::burgers::Burgers, 1>; \ 174 template class X< ::alsfvm::numflux::TecnoCombined4<::alsfvm::equation::burgers::Burgers, ::alsfvm::numflux::ScalarEntropyConservativeFlux<::alsfvm::equation::burgers::Burgers> >, ::alsfvm::equation::burgers::Burgers, 2>; \ 175 template class X< ::alsfvm::numflux::TecnoCombined4<::alsfvm::equation::burgers::Burgers, ::alsfvm::numflux::ScalarEntropyConservativeFlux<::alsfvm::equation::burgers::Burgers> >, ::alsfvm::equation::burgers::Burgers, 3>; \ 176 template class X< ::alsfvm::numflux::TecnoCombined4<::alsfvm::equation::burgers::Burgers, ::alsfvm::numflux::burgers::Godunov >, ::alsfvm::equation::burgers::Burgers, 1>; \ 177 template class X< ::alsfvm::numflux::TecnoCombined4<::alsfvm::equation::burgers::Burgers, ::alsfvm::numflux::burgers::Godunov >, ::alsfvm::equation::burgers::Burgers, 2>; \ 178 template class X< ::alsfvm::numflux::TecnoCombined4<::alsfvm::equation::burgers::Burgers, ::alsfvm::numflux::burgers::Godunov >, ::alsfvm::equation::burgers::Burgers, 3>; \ 179 template class X< ::alsfvm::numflux::TecnoCombined6<::alsfvm::equation::burgers::Burgers, ::alsfvm::numflux::ScalarEntropyConservativeFlux<::alsfvm::equation::burgers::Burgers> >, ::alsfvm::equation::burgers::Burgers, 1>; \ 180 template class X< ::alsfvm::numflux::TecnoCombined6<::alsfvm::equation::burgers::Burgers, ::alsfvm::numflux::ScalarEntropyConservativeFlux<::alsfvm::equation::burgers::Burgers> >, ::alsfvm::equation::burgers::Burgers, 2>; \ 181 template class X< ::alsfvm::numflux::TecnoCombined6<::alsfvm::equation::burgers::Burgers, ::alsfvm::numflux::ScalarEntropyConservativeFlux<::alsfvm::equation::burgers::Burgers> >, ::alsfvm::equation::burgers::Burgers, 3>; \ 182 template class X< ::alsfvm::numflux::TecnoCombined6<::alsfvm::equation::burgers::Burgers, ::alsfvm::numflux::burgers::Godunov >, ::alsfvm::equation::burgers::Burgers, 1>; \ 183 template class X< ::alsfvm::numflux::TecnoCombined6<::alsfvm::equation::burgers::Burgers, ::alsfvm::numflux::burgers::Godunov >, ::alsfvm::equation::burgers::Burgers, 2>; \ 184 template class X< ::alsfvm::numflux::TecnoCombined6<::alsfvm::equation::burgers::Burgers, ::alsfvm::numflux::burgers::Godunov >, ::alsfvm::equation::burgers::Burgers, 3>; \ 185 template class X< ::alsfvm::numflux::euler::Tecno1<1>, ::alsfvm::equation::euler::Euler<1>, 1>; \ 186 template class X< ::alsfvm::numflux::euler::Tecno1<1>, ::alsfvm::equation::euler::Euler<1>, 2>; \ 187 template class X< ::alsfvm::numflux::euler::Tecno1<1>, ::alsfvm::equation::euler::Euler<1>, 3>; \ 188 template class X< ::alsfvm::numflux::euler::Tecno1<2>, ::alsfvm::equation::euler::Euler<2>, 1>; \ 189 template class X< ::alsfvm::numflux::euler::Tecno1<2>, ::alsfvm::equation::euler::Euler<2>, 2>; \ 190 template class X< ::alsfvm::numflux::euler::Tecno1<2>, ::alsfvm::equation::euler::Euler<2>, 3>; \ 191 template class X< ::alsfvm::numflux::euler::Tecno1<3>, ::alsfvm::equation::euler::Euler<3>, 1>; \ 192 template class X< ::alsfvm::numflux::euler::Tecno1<3>, ::alsfvm::equation::euler::Euler<3>, 2>; \ 193 template class X< ::alsfvm::numflux::euler::Tecno1<3>, ::alsfvm::equation::euler::Euler<3>, 3>; \ 194 template class X< ::alsfvm::numflux::TecnoCombined4<::alsfvm::equation::euler::Euler<1>, ::alsfvm::numflux::euler::Tecno1<1> >, ::alsfvm::equation::euler::Euler<1>, 1>; \ 195 template class X< ::alsfvm::numflux::TecnoCombined4<::alsfvm::equation::euler::Euler<1>, ::alsfvm::numflux::euler::Tecno1<1> >, ::alsfvm::equation::euler::Euler<1>, 2>; \ 196 template class X< ::alsfvm::numflux::TecnoCombined4<::alsfvm::equation::euler::Euler<1>, ::alsfvm::numflux::euler::Tecno1<1> >, ::alsfvm::equation::euler::Euler<1>, 3>; \ 197 template class X< ::alsfvm::numflux::TecnoCombined4<::alsfvm::equation::euler::Euler<2>, ::alsfvm::numflux::euler::Tecno1<2> >, ::alsfvm::equation::euler::Euler<2>, 1>; \ 198 template class X< ::alsfvm::numflux::TecnoCombined4<::alsfvm::equation::euler::Euler<2>, ::alsfvm::numflux::euler::Tecno1<2> >, ::alsfvm::equation::euler::Euler<2>, 2>; \ 199 template class X< ::alsfvm::numflux::TecnoCombined4<::alsfvm::equation::euler::Euler<2>, ::alsfvm::numflux::euler::Tecno1<2> >, ::alsfvm::equation::euler::Euler<2>, 3>; \ 200 template class X< ::alsfvm::numflux::TecnoCombined4<::alsfvm::equation::euler::Euler<3>, ::alsfvm::numflux::euler::Tecno1<3> >, ::alsfvm::equation::euler::Euler<3>, 1>; \ 201 template class X< ::alsfvm::numflux::TecnoCombined4<::alsfvm::equation::euler::Euler<3>, ::alsfvm::numflux::euler::Tecno1<3> >, ::alsfvm::equation::euler::Euler<3>, 2>; \ 202 template class X< ::alsfvm::numflux::TecnoCombined4<::alsfvm::equation::euler::Euler<3>, ::alsfvm::numflux::euler::Tecno1<3> >, ::alsfvm::equation::euler::Euler<3>, 3>; \ 203 template class X< ::alsfvm::numflux::TecnoCombined6<::alsfvm::equation::euler::Euler<1>, ::alsfvm::numflux::euler::Tecno1<1> >, ::alsfvm::equation::euler::Euler<1>, 1>; \ 204 template class X< ::alsfvm::numflux::TecnoCombined6<::alsfvm::equation::euler::Euler<1>, ::alsfvm::numflux::euler::Tecno1<1> >, ::alsfvm::equation::euler::Euler<1>, 2>; \ 205 template class X< ::alsfvm::numflux::TecnoCombined6<::alsfvm::equation::euler::Euler<1>, ::alsfvm::numflux::euler::Tecno1<1> >, ::alsfvm::equation::euler::Euler<1>, 3>; \ 206 template class X< ::alsfvm::numflux::TecnoCombined6<::alsfvm::equation::euler::Euler<2>, ::alsfvm::numflux::euler::Tecno1<2> >, ::alsfvm::equation::euler::Euler<2>, 1>; \ 207 template class X< ::alsfvm::numflux::TecnoCombined6<::alsfvm::equation::euler::Euler<2>, ::alsfvm::numflux::euler::Tecno1<2> >, ::alsfvm::equation::euler::Euler<2>, 2>; \ 208 template class X< ::alsfvm::numflux::TecnoCombined6<::alsfvm::equation::euler::Euler<2>, ::alsfvm::numflux::euler::Tecno1<2> >, ::alsfvm::equation::euler::Euler<2>, 3>; \ 209 template class X< ::alsfvm::numflux::TecnoCombined6<::alsfvm::equation::euler::Euler<3>, ::alsfvm::numflux::euler::Tecno1<3> >, ::alsfvm::equation::euler::Euler<3>, 1>; \ 210 template class X< ::alsfvm::numflux::TecnoCombined6<::alsfvm::equation::euler::Euler<3>, ::alsfvm::numflux::euler::Tecno1<3> >, ::alsfvm::equation::euler::Euler<3>, 2>; \ 211 template class X< ::alsfvm::numflux::TecnoCombined6<::alsfvm::equation::euler::Euler<3>, ::alsfvm::numflux::euler::Tecno1<3> >, ::alsfvm::equation::euler::Euler<3>, 3>; \ 212 template class X< ::alsfvm::numflux::Central<equation::buckleyleverett::BuckleyLeverett>, ::alsfvm::equation::buckleyleverett::BuckleyLeverett, 1>; \ 213 template class X< ::alsfvm::numflux::Central<equation::buckleyleverett::BuckleyLeverett>, ::alsfvm::equation::buckleyleverett::BuckleyLeverett, 2>; \ 214 template class X< ::alsfvm::numflux::Central<equation::buckleyleverett::BuckleyLeverett>, ::alsfvm::equation::buckleyleverett::BuckleyLeverett, 3>; \ 215 template class X< ::alsfvm::numflux::Rusanov<equation::buckleyleverett::BuckleyLeverett>, ::alsfvm::equation::buckleyleverett::BuckleyLeverett, 1>; \ 216 template class X< ::alsfvm::numflux::Rusanov<equation::buckleyleverett::BuckleyLeverett>, ::alsfvm::equation::buckleyleverett::BuckleyLeverett, 2>; \ 217 template class X< ::alsfvm::numflux::Rusanov<equation::buckleyleverett::BuckleyLeverett>, ::alsfvm::equation::buckleyleverett::BuckleyLeverett, 3>; \ 218 template class X< ::alsfvm::numflux::buckleyleverett::Godunov, ::alsfvm::equation::buckleyleverett::BuckleyLeverett, 1>; \ 219 template class X< ::alsfvm::numflux::buckleyleverett::Godunov, ::alsfvm::equation::buckleyleverett::BuckleyLeverett, 2>; \ 220 template class X< ::alsfvm::numflux::buckleyleverett::Godunov, ::alsfvm::equation::buckleyleverett::BuckleyLeverett, 3>; \ 221 template class X< ::alsfvm::numflux::Central<equation::cubic::Cubic>, ::alsfvm::equation::cubic::Cubic, 1>; \ 222 template class X< ::alsfvm::numflux::Central<equation::cubic::Cubic>, ::alsfvm::equation::cubic::Cubic, 2>; \ 223 template class X< ::alsfvm::numflux::Central<equation::cubic::Cubic>, ::alsfvm::equation::cubic::Cubic, 3>; \ 224 template class X< ::alsfvm::numflux::Rusanov<equation::cubic::Cubic>, ::alsfvm::equation::cubic::Cubic, 1>; \ 225 template class X< ::alsfvm::numflux::Rusanov<equation::cubic::Cubic>, ::alsfvm::equation::cubic::Cubic, 2>; \ 226 template class X< ::alsfvm::numflux::Rusanov<equation::cubic::Cubic>, ::alsfvm::equation::cubic::Cubic, 3>; \ 227 template class X< ::alsfvm::numflux::cubic::Roe, ::alsfvm::equation::cubic::Cubic, 1>; \ 228 template class X< ::alsfvm::numflux::cubic::Roe, ::alsfvm::equation::cubic::Cubic, 2>; \ 229 template class X< ::alsfvm::numflux::cubic::Roe, ::alsfvm::equation::cubic::Cubic, 3>; \ 230 template class X< ::alsfvm::numflux::Central<equation::linear::Linear>, ::alsfvm::equation::linear::Linear, 1>; \ 231 template class X< ::alsfvm::numflux::Central<equation::linear::Linear>, ::alsfvm::equation::linear::Linear, 2>; \ 232 template class X< ::alsfvm::numflux::Central<equation::linear::Linear>, ::alsfvm::equation::linear::Linear, 3>; \ 233 template class X< ::alsfvm::numflux::Rusanov<equation::linear::Linear>, ::alsfvm::equation::linear::Linear, 1>; \ 234 template class X< ::alsfvm::numflux::Rusanov<equation::linear::Linear>, ::alsfvm::equation::linear::Linear, 2>; \ 235 template class X< ::alsfvm::numflux::Rusanov<equation::linear::Linear>, ::alsfvm::equation::linear::Linear, 3>; \ 236 template class X< ::alsfvm::numflux::linear::Upwind, ::alsfvm::equation::linear::Linear, 1>; \ 237 template class X< ::alsfvm::numflux::linear::Upwind, ::alsfvm::equation::linear::Linear, 2>; \ 238 template class X< ::alsfvm::numflux::linear::Upwind, ::alsfvm::equation::linear::Linear, 3>; \ 239 template class X< ::alsfvm::numflux::linear::Roe, ::alsfvm::equation::linear::Linear, 1>; \ 240 template class X< ::alsfvm::numflux::linear::Roe, ::alsfvm::equation::linear::Linear, 2>; \ 241 template class X< ::alsfvm::numflux::linear::Roe, ::alsfvm::equation::linear::Linear, 3>;
boost::fusion::map< boost::fusion::pair< equation::euler::Euler< 1 >, boost::fusion::vector< euler::HLL< 1 >, euler::HLL3< 1 >, Central< equation::euler::Euler< 1 > >, euler::Tecno1< 1 >, TecnoCombined4< equation::euler::Euler< 1 >, euler::Tecno1< 1 > >, TecnoCombined6< equation::euler::Euler< 1 >, euler::Tecno1< 1 > > > >, boost::fusion::pair< equation::euler::Euler< 2 >, boost::fusion::vector< euler::HLL< 2 >, euler::HLL3< 2 >, Central< equation::euler::Euler< 2 > >, euler::Tecno1< 2 >, TecnoCombined4< equation::euler::Euler< 2 >, euler::Tecno1< 2 > >, TecnoCombined6< equation::euler::Euler< 2 >, euler::Tecno1< 2 > > > >, boost::fusion::pair< equation::euler::Euler< 3 >, boost::fusion::vector< euler::HLL< 3 >, euler::HLL3< 3 >, Central< equation::euler::Euler< 3 > >, euler::Tecno1< 3 >, TecnoCombined4< equation::euler::Euler< 3 >, euler::Tecno1< 3 > >, TecnoCombined6< equation::euler::Euler< 3 >, euler::Tecno1< 3 > > > >, boost::fusion::pair< equation::burgers::Burgers, boost::fusion::vector< Central< equation::burgers::Burgers >, Rusanov< equation::burgers::Burgers >, burgers::Godunov, burgers::Roe, ScalarEntropyConservativeFlux< equation::burgers::Burgers >, TecnoCombined4< equation::burgers::Burgers, ScalarEntropyConservativeFlux< equation::burgers::Burgers > >, TecnoCombined4<::alsfvm::equation::burgers::Burgers, burgers::Godunov >, TecnoCombined6< equation::burgers::Burgers, ScalarEntropyConservativeFlux< equation::burgers::Burgers > >, TecnoCombined6<::alsfvm::equation::burgers::Burgers, burgers::Godunov > > >, boost::fusion::pair< equation::buckleyleverett::BuckleyLeverett, boost::fusion::vector< Central< equation::buckleyleverett::BuckleyLeverett >, buckleyleverett::Godunov, Rusanov< equation::buckleyleverett::BuckleyLeverett > > >, boost::fusion::pair< equation::cubic::Cubic, boost::fusion::vector< Central< equation::cubic::Cubic >, cubic::Roe, Rusanov< equation::cubic::Cubic > > >, boost::fusion::pair< equation::linear::Linear, boost::fusion::vector< Central< equation::linear::Linear >, Rusanov< equation::linear::Linear >, linear::Roe, linear::Upwind > > > NumericalFluxList
Definition: numerical_flux_list.hpp:113
void for_each_flux(Function f)
Definition: numerical_flux_list.hpp:117
Various utility functions to implement the tecno flux.
Definition: types.hpp:30