Alsvinn  0.5.3
The fast FVM simulator with UQ support
numerical_flux_list.hpp
Go to the documentation of this file.
1 /* Copyright (c) 2018 ETH Zurich, Kjetil Olsen Lye
2  * This program is free software: you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License as published by
4  * the Free Software Foundation, either version 3 of the License, or
5  * (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program. If not, see <http://www.gnu.org/licenses/>.
14  */
15 
16 #pragma once
17 
34 
35 
39 namespace alsfvm {
40 namespace numflux {
41 typedef boost::fusion::map <
42 // EULER1
43 boost::fusion::pair<equation::euler::Euler<1>,
44  boost::fusion::vector<
45  euler::HLL<1>,
46  euler::HLL3<1>,
47  Central<equation::euler::Euler<1>>,
48  euler::Tecno1<1>,
49  TecnoCombined4<equation::euler::Euler<1>, euler::Tecno1<1> >,
50  TecnoCombined6<equation::euler::Euler<1>, euler::Tecno1<1> >
51  > >,
52 
53  // EULER2
54  boost::fusion::pair<equation::euler::Euler<2>,
55  boost::fusion::vector<
56  euler::HLL<2>,
57  euler::HLL3<2>,
58  Central<equation::euler::Euler<2>>,
59  euler::Tecno1<2>,
60  TecnoCombined4<equation::euler::Euler<2>, euler::Tecno1<2> >,
61  TecnoCombined6<equation::euler::Euler<2>, euler::Tecno1<2> >
62  > >,
63 
64  // EULER3
65  boost::fusion::pair<equation::euler::Euler<3>,
66  boost::fusion::vector<
67  euler::HLL<3>,
68  euler::HLL3<3>,
69  Central<equation::euler::Euler<3>>,
70  euler::Tecno1<3>,
71  TecnoCombined4<equation::euler::Euler<3>, euler::Tecno1<3> >,
72  TecnoCombined6<equation::euler::Euler<3>, euler::Tecno1<3> >
73  > >,
74 
75  // BURGERS
76  boost::fusion::pair < equation::burgers::Burgers,
77  boost::fusion::vector <
78  Central<equation::burgers::Burgers>,
79  Rusanov<equation::burgers::Burgers>,
80  burgers::Godunov,
81  burgers::Roe,
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>
87  >>,
88 
89  // BUCKLEY-LEVERETT
90  boost::fusion::pair < equation::buckleyleverett::BuckleyLeverett,
91  boost::fusion::vector <
92  Central<equation::buckleyleverett::BuckleyLeverett>,
93  buckleyleverett::Godunov,
94  Rusanov<equation::buckleyleverett::BuckleyLeverett>
95  > >,
96 
97  // CUBIC
98  boost::fusion::pair < equation::cubic::Cubic,
99  boost::fusion::vector <
100  Central<equation::cubic::Cubic>,
101  cubic::Roe,
102  Rusanov<equation::cubic::Cubic>
103  > >,
104 
105  // Linear
106  boost::fusion::pair < equation::linear::Linear,
107  boost::fusion::vector <
108  Central<equation::linear::Linear>,
109  Rusanov<equation::linear::Linear>,
110  linear::Roe,
111  linear::Upwind
112  > >
114 
115 
116 template<class Equation, class Function>
117 void for_each_flux(Function f) {
118 
119  NumericalFluxList map;
120 
121 
122  boost::fusion::for_each(boost::fusion::at_key<Equation>(map), f);
123 }
124 
125 
126 
127 }
128 }
129 
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>;
242 
243 
244 
245 
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