modules.txt 16.2 KB
Newer Older
Benjamin Faigle's avatar
 
Benjamin Faigle committed
1
/*!
2
3
4
 * \file
 *
 * \brief This file contains all module definitions for the doxygen documentation.
5
 * 
Benjamin Faigle's avatar
 
Benjamin Faigle committed
6
 */
7

8
/* ***************** Porousmediaflow ******************/
9
/*!
10
 * \defgroup Porousmediaflow Porousmediumflow (fully implicit if not denoted otherwise)
11
 */
12
    /*!
13
14
     * \ingroup Porousmediaflow
     * \defgroup OnePModels 1p (one-phase Darcy flow)
15
     */
16
17
18
19
20
21
22
23
24
25
26
27
        /*!
         * \ingroup OnePModels
         * \defgroup OnePModel Implicit
         *
         * \copydetails Dumux::OnePModel
         */
        /*!
         * \ingroup OnePModels
         * \defgroup OnePhase Sequential
         *         
	 * \copydetails Dumux::FVPressure1P
         */
28
    /*!
29
30
31
32
     * \ingroup Porousmediaflow
     * \defgroup OnePTwoCModel 1p2c (one-phase, two-component Darcy flow)
     *
     * \copydetails Dumux::OnePTwoCModel
33
     */
34
    /*!
35
36
     * \ingroup Porousmediaflow
     * \defgroup TwoPModels 2p (two-phase Darcy flow)
37
     */
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
        /*!
         * \ingroup TwoPModels
         * \defgroup TwoPModel Implicit
         *
         * \copydetails Dumux::TwoPModel
         */
	/*!
         * \ingroup TwoPModels
         * \defgroup IMPES Sequential
	 * 
	 * \copydetails Dumux::FVPressure2P
	 * <br><br><br>
	 * \copydetails Dumux::FVVelocity2P
	 * <br>
	 * \copydetails Dumux::FVSaturation2P
         */
54
    /*!
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
     * \ingroup Porousmediaflow
     * \defgroup TwoPTwoCModels 2p2c (two-phase, two-component Darcy flow)
     */ 
        /*!
         * \ingroup TwoPTwoCModels
         * \defgroup TwoPTwoCModel Implicit
         *
         * \copydetails Dumux::TwoPTwoCModel
         */
	/*!
         * \ingroup TwoPTwoCModels
         * \defgroup IMPEC Sequential
	 * 
	 * \copydetails Dumux::FVPressure2P2C
	 * <br><br><br>
	 * \copydetails Dumux::FVTransport2PC
         */
    /*!
     * \ingroup Porousmediaflow
     * \defgroup TwoPDFMModel 2pdfm (two-phase Darcy flow in discrete fracture-matrix)
     *
     * \copydetails Dumux::TwoPDFMModel
77
     */
78
    /*!
79
80
81
82
     * \ingroup Porousmediaflow
     * \defgroup TwoPMincModel 2pminc (two-phase Darcy flow dual continuum)
     *
     * \copydetails Dumux::TwoPMincModel
83
84
     */
    /*!
85
86
87
88
     * \ingroup Porousmediaflow
     * \defgroup TwoPNCModel 2pnc (two-phase, n-component Darcy flow)
     *
     * \copydetails Dumux::TwoPNCModel
89
90
     */
    /*!
91
92
93
94
     * \ingroup Porousmediaflow
     * \defgroup TwoPNCMinModel 2pncmin (two-phase, n-component Darcy flow with mineralization)
     *
     * \copydetails Dumux::TwoPNCMinModel
95
     */
96
    /*!
97
98
99
100
     * \ingroup Porousmediaflow
     * \defgroup ThreePModel 3p (three-phase Darcy flow)
     *
     * \copydetails Dumux::ThreePModel
101
102
     */
    /*!
103
104
105
106
     * \ingroup Porousmediaflow
     * \defgroup ThreePThreeCModel 3p3c (three-phase, three-component Darcy flow)
     *
     * \copydetails Dumux::ThreePThreeCModel
107
     */
108
    /*!
109
110
111
112
     * \ingroup Porousmediaflow
     * \defgroup CO2Model CO2 (2-phase, 2-component Darcy flow)
     *
     * \copydetails Dumux::CO2Model
113
     */
114
    /*!
115
116
117
118
     * \ingroup Porousmediaflow
     * \defgroup MPNCModel Mpnc (m-phase, n-component Darcy flow)
     *
     * \copydetails Dumux::MPNCModel
119
     */
120
121
122
123
124
125
126
127
128
129
130
131
132
133
    /*!
     * \ingroup Porousmediaflow
     * \defgroup NIModel Nonisothermal (non-isothermal model)
     *
     * \copydetails Dumux::NIModel
     */
    /*!
     * \ingroup Porousmediaflow
     * \defgroup RichardsModel Richards (Richards flow)
     *
     * \copydetails Dumux::RichardsModel
     */
    
/* ***************** Geomechanics ******************/
Benjamin Faigle's avatar
 
Benjamin Faigle committed
134
/*!
135
 * \defgroup Geomechanics Geomechanics (fully implicit)
Benjamin Faigle's avatar
 
Benjamin Faigle committed
136
 */
137
    /*!
138
139
140
141
     * \ingroup Geomechanics
     * \defgroup ElOnePTwoCBoxModel El1p2c (one-phase, two-component Darcy flow, linear elastic deformation model)
     *
     * \copydetails Dumux::ElOnePTwoCModel
142
143
     */
    /*!
144
145
146
147
     * \ingroup Geomechanics
     * \defgroup ElTwoPBoxModel El2p (two-phase Darcy flow, linear elastic deformation model)
     *
     * \copydetails Dumux::ElTwoPModel
148
149
     */
    /*!
150
151
152
153
     * \ingroup Geomechanics
     * \defgroup ElasticBoxModel Elastic (linear elastic deformation model)
     *
     * \copydetails Dumux::ElasticModel
154
     */
155
156
157
158
159
    
/* ***************** Freeflow ******************/
/*!
 * \defgroup Freeflow Freeflow (fully implicit)
 */
Thomas Fetzer's avatar
Thomas Fetzer committed
160
    /*!
161
162
163
164
     * \ingroup Freeflow
     * \defgroup BoxStokesModel Stokes (one-phase Stokes model)
     *
     * \copydetails Dumux::StokesModel
Thomas Fetzer's avatar
Thomas Fetzer committed
165
     */
166
    /*!
167
168
169
170
     * \ingroup Freeflow
     * \defgroup BoxStokesncModel Stokesnc (one-phase, n-component Stokes flow)
     *
     * \copydetails Dumux::StokesncModel
171
172
     */
    /*!
173
174
175
176
     * \ingroup Freeflow
     * \defgroup BoxStokesncniModel Stokesncni (one-phase, n-component, non-isothermal Stokes flow)
     *
     * \copydetails Dumux::StokesncniModel
177
     */
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
    /*!
     * \ingroup Freeflow
     * \defgroup BoxZeroEqModel Zeroeq (one-phase Stokes flow with zero-eq turbulence model)
     *
     * \copydetails Dumux::ZeroEqModel
     */
    /*!
     * \ingroup Freeflow
     * \defgroup BoxZeroEqncModel Zeroeqnc (one-phase, n-component Stokes flow with zero-eq turbulence model)
     *
     * \copydetails Dumux::ZeroEqncModel
     */
    /*!
     * \ingroup Freeflow
     * \defgroup BoxZeroEqncniModel Zeroeqncni (one-phase, n-component, non-isothermal Stokes flow with zero-eq turbulence model)
     *
     * \copydetails Dumux::ZeroEqncniModel
     */
    
/* ***************** Multidomain ******************/
/*!
 * \defgroup Multidomain Multidomain (fully implicit)
 */
    /*!
     * \ingroup Multidomain
     * \defgroup MultidomainModel Multidomain
     */
    /*!
     * \ingroup Multidomain
     * \defgroup TwoPTwoCStokesTwoCModel 2cstokes2p2c (Stokes2c flow, coupled to two-phase, two-component Darcy flow)
     *
     * \copydetails Dumux::TwoCStokesTwoPTwoCLocalOperator
     * <br><br><br>
     * \copydetails Dumux::TwoPTwoCModel
     * <br>
     * \copydetails Dumux::StokesncModel
     */
    /*!
     * \ingroup Multidomain
     * \defgroup TwoPTwoCNIStokesTwoCNIModel 2cnistokes2p2cni (Stokes2c flow, coupled to two-phase, two-component Darcy flow, non-isothermal)
     *
     * \copydetails Dumux::TwoCNIStokesTwoPTwoCNILocalOperator
     * <br><br><br>
     * \copydetails Dumux::TwoPTwoCNIModel
     * <br>
     * \copydetails Dumux::StokesncniModel
     */
    /*!
     * \ingroup Multidomain
     * \defgroup TwoPTwoCZeroEqTwoCModel 2czeroeq2p2c (Stokes2c flow with zero-eq turbulence model, coupled to two-phase, two-component Darcy flow)
     *
     * \copydetails Dumux::TwoCStokesTwoPTwoCLocalOperator
     * <br><br><br>
     * \copydetails Dumux::TwoPTwoCModel
     * <br>
     * \copydetails Dumux::ZeroEqncModel
     */
    /*!
     * \ingroup Multidomain
     * \defgroup TwoPTwoCNIZeroEqTwoCNIModel 2cnizeroeq2p2cni (Stokes2c flow with zero-eq turbulence model, coupled to two-phase, two-component Darcy flow, non-isothermal)
     *
     * \copydetails Dumux::TwoCNIStokesTwoPTwoCNILocalOperator
     * <br><br><br>
     * \copydetails Dumux::TwoPTwoCNIModel
     * <br>
     * \copydetails Dumux::ZeroEqncniModel
     */
    
246
/* ***************** Fully Implicit ******************/
247
/*!
248
 * \defgroup ImplicitModel Fully Implicit Scheme
249
 */
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
    /*!
     * \ingroup ImplicitModel
     * \defgroup ImplicitBaseProblems Base Problems
     */
    /*!
     * \ingroup ImplicitModel
     * \defgroup Discretizations Discretizations
     */
         /*!
         * \ingroup Discretizations
         * \defgroup CCModel Fully implicit cell-centered discretization
         */
         /*!
         * \ingroup Discretizations
         * \defgroup BoxModel Fully implicit box discretization
         */
    /*!
     * \ingroup ImplicitModel
     * \defgroup ImplicitBoundaryTypes Boundary Types
     */
    /*!
     * \ingroup ImplicitModel
     * \defgroup ImplicitFluxVariables Flux Variables
     */
    /*!
     * \ingroup ImplicitModel
     * \defgroup ImplicitIndices Indices
     */
    /*!
     * \ingroup ImplicitModel
     * \defgroup ImplicitLocalJacobian Local Jacobian
     */
    /*!
     * \ingroup ImplicitModel
     * \defgroup ImplicitLocalResidual Local Residual
     */
    /*!
     * \ingroup ImplicitModel
     * \defgroup ImplicitProperties Properties
     */
    /*!
     * \ingroup ImplicitModel
     * \defgroup ImplicitVolumeVariables Volume Variables
     */
294

295
/* ***************** Sequential ******************/
Benjamin Faigle's avatar
 
Benjamin Faigle committed
296
/*!
297
 * \defgroup Sequential Sequential Scheme (Implicit Pressure Explicit Transport)
298
 */
299
300
    /*!
     * \ingroup Sequential
301
302
303
304
305
     * \defgroup IMPETproblems Base Problems
     */
    /*!
     * \ingroup Sequential
     * \defgroup IMPETProperties Properties
306
307
     */

308
/* ***************** Material ******************/
309
/*!   
310
311
312
 * \defgroup Material Material and Fluid Framework
 * Short description of the most important concepts of the material and fluid framework:
 *
313
 *  - __Binary coefficient:__  @copydoc Binarycoefficients
314
315
 * 
 * 
316
 *  - __Component:__ @copydoc Components
317
318
 * 
 * 
319
320
321
322
323
324
325
326
327
328
 *  - __Constraint solver:__ @copydoc ConstraintSolver
 * 
 * 
 *  - __Equation of state:__ @copydoc EOS
 * 
 * 
 *  - __Fluid state:__ @copydoc FluidStates
 * 
 * 
 *  - __Fluid system:__ @copydoc Fluidsystems
329
330
 * 
 *   
331
332
333
334
 *  - __Fluid-Matrix Interactions:__ @copydoc fluidmatrixinteractions
 * 
 * 
 *  - __Parameter cache:__ @copydoc ParameterCache
335
336
 * 
 * 
337
 *  - __Spatial Parameters:__ @copydoc SpatialParameters
Benjamin Faigle's avatar
 
Benjamin Faigle committed
338
 */
339
340
341
    /*!
     * \ingroup Material
     * \defgroup Binarycoefficients Binary Coefficients
342
343
344
345
346
     *  Binary coefficients describe the relations
     *  of a mixture of two components. Typical binary coefficients are
     *  Henry coefficients or binary molecular diffusion
     *  coefficients. So far, the programming interface for accessing binary
     *  coefficients has not been standardized in Dumux.
347
348
349
350
     */
    /*!
     * \ingroup Material
     * \defgroup Components Components
351
352
353
354
355
356
     * Components are fluid systems which provide the
     *  thermodynamic relations for the liquid and gas phase of a single
     *  chemical species or a fixed mixture of species. Their main purpose
     *  is to provide a convenient way to access these quantities from
     *  full-fledged fluid systems. Components are not supposed to be used
     *  by models directly.
357
358
     */ 
         /*!
359
360
361
         * \ingroup Components
         * \defgroup IAPWS IAPWS
         */
362
     /*! 
363
     * \ingroup Material
364
     * \defgroup ConstraintSolver Constraint Solver
365
366
367
368
369
     * Constraint solvers are auxiliary tools to
     * make sure that a fluid state is consistent with some thermodynamic
     * constraints. All constraint solvers specify a well defined set of
     * input variables and make sure that the resulting fluid state is
     * consistent with a given set of thermodynamic equations.
370
371
372
373
374
375
376
377
378
     * Constraint solvers connect the thermodynamic relations expressed by
     * fluid systems with the thermodynamic quantities stored by fluid
     * states. Using them is not mandatory for models, but given the fact
     * that some thermodynamic constraints can be quite complex to solve,
     * sharing this code between models makes sense.
     */   
    /*!
     * \ingroup Material
     * \defgroup EOS Equation of State
379
380
381
382
383
384
     * 
     * Equations of state (EOS) are auxiliary
     * classes which provide relations between a fluid phase's temperature,
     * pressure, composition and density. Since these classes are only used
     * internally in fluid systems, their programming interface is
     * currently ad-hoc.
385
     * 
Thomas Fetzer's avatar
Thomas Fetzer committed
386
387
     * \ingroup Material
     * \defgroup FluidStates Fluid States
388
389
390
391
392
393
394
395
     * Fluid states are responsible for representing the
     * complete thermodynamic configuration of a system at a given spatial
     * and temporal position. A fluid state always provides access methods
     * to __all__ thermodynamic quantities, but the concept of a fluid state does not
     * mandate what assumptions are made to store these thermodynamic
     * quantities. What fluid states also do __not__ do is to make sure
     * that the thermodynamic state which they represent is physically
     * possible.
396
397
398
399
     */
    /*!
     * \ingroup Material
     * \defgroup Fluidsystems Fluid Systems
400
401
402
403
404
405
406
     * Fluid systems express the thermodynamic relations 
    *  Strictly speaking, these relations are
    *  functions, mathematically.} between quantities. Since functions do
    *  not exhibit any internal state, fluid systems are stateless classes,
    *  i.e. all member functions are static. This is a conscious
    *  decision since the thermodynamic state of the system is expressed by
    *  a fluid state!
Thomas Fetzer's avatar
Thomas Fetzer committed
407
     */
408
409
410
    /*!
     * \ingroup Material
     *  \defgroup fluidmatrixinteractions Fluid-Matrix Interactions
411
412
413
414
     * Some parameters are functions of the fluid state as well as parameters of
     * the matrix. For example the capillary pressure is a function of the phase saturation
     * and the shape parameter \f$\lambda\f$ which is dependent on the material. All such relations
     * are gathered in this module.
415
416
417
418
419
420
421
     */
        /*!
         * \ingroup fluidmatrixinteractions
         *  \defgroup fluidmatrixinteractionslaws Laws for Fluid-Matrix Interactions
         */
         /*!
         * \ingroup fluidmatrixinteractions
422
         *  \defgroup fluidmatrixinteractionsparams Parameters for Fluid-Matrix Interactions
423
424
425
426
         */  
    /*!
     * \ingroup Material
     * \defgroup ParameterCache Parameter Cache
427
428
429
430
431
432
433
     * Fluid systems sometimes require
     * computationally expensive parameters for multiple relations. Such
     * parameters can be cached using a so-called parameter
     * cache. Parameter cache objects are specific for each fluid system
     * but they must provide a common interface to update the internal
     * parameters depending on the quantities which changed since the last
     * update.
434
435
436
437
438
439
440
441
442
     * All fluid systems must export a type for their __ParameterCache__
     * objects. Parameter caches can be used to cache parameter that are
     * expensive to compute and are required in multiple thermodynamic
     * relations. For fluid systems which do need to cache parameters,
     * Dumux provides a __NullParameterCache__ class.
     * The actual quantities stored by parameter cache objects are specific
     * to the fluid system and no assumptions on what they provide should be
     * made outside of their fluid system. Parameter cache objects provide a
     * well-defined set of methods to make them coherent with a given fluid
443
     * state, though.
444
445
446
447
448
449
450
451
452
453
454
     * Note, that the parameter cache interface only guarantees that if a
     * more specialized <tt>update()</tt> method is called, it is not slower
     * than the next more-general method (e.g. calling <tt>updateSingleMoleFraction()</tt>
     * may be as expensive as <tt>updateAll()}</tt>. It is thus advisable to
     * rather use a more general <tt>update()</tt> method once than multiple
     * calls to specialized <tt>update()</tt> methods.
     * To make usage of parameter caches easier for the case where all cached
     * quantities ought to be re-calculated if a quantity of a phase was changed,
     * it is possible to only define the <tt>updatePhase()</tt> method and
     * derive the parameter cache from <tt>Dumux::ParameterCacheBase</tt>.
     */
455
456
457
    /*!
     * \ingroup Material
     * \defgroup SpatialParameters Spatial Parameters
458
459
460
     * All parameters which depend on the matrix and
     * therefore on the position within the model domain are defined as spatial
     * parameters. For example permeability, porosity etc.
461
     * 
462
     */
463

464
/* ***************** Common ******************/
465
/*!
466
 * \defgroup Common Common Infrastucture
467
 */
468
    /*!
469
470
     * \ingroup Common
     * \defgroup BC Boundary Conditions
471
472
     */
    /*!
473
474
     * \ingroup Common
     * \defgroup Math Elementary Math Functions
475
476
     */
    /*!
477
478
     * \ingroup Common
     * \defgroup Exception Exceptions
479
480
     */
    /*!
481
482
     * \ingroup Common
     * \defgroup Linear Linear Solver Backends
483
484
     */
    /*!
485
486
     * \ingroup Common
     * \defgroup Newton Newton Solver
487
488
     */
    /*!
489
490
491
     * \ingroup Common
     * \defgroup Parameter Parameters
     * See the file parameterlist for available parameters.
492
493
     */
    /*!
494
495
     * \ingroup Common
     * \defgroup Properties Property System
496
497
     */
    /*!
498
499
     * \ingroup Common
     * \defgroup Spline Splines
500
     */
501
    /*!
502
503
     * \ingroup Common
     * \defgroup Start Starting the Simulation
504
505
     */
    /*!
506
507
     * \ingroup Common
     * \defgroup SimControl Time Manager
508
509
     */
    /*!
510
511
     * \ingroup Common
     * \defgroup Valgrind Valgrind
512
     */