Skip to content
Snippets Groups Projects
Commit 389a4794 authored by Roman Winter's avatar Roman Winter Committed by Timo Koch
Browse files

[doxygen] Add structure file and figures from handbook

parent 18b2fc1d
No related branches found
No related tags found
1 merge request!3567[docs][doxygen] Add former handbook chapter directory structure to doxygen
...@@ -22,6 +22,7 @@ SPDX-License-Identifier: GPL-3.0-or-later ...@@ -22,6 +22,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<tab type="user" url="@ref runtime-parameters" visible="yes" title="Runtime Parameters" intro=""/> <tab type="user" url="@ref runtime-parameters" visible="yes" title="Runtime Parameters" intro=""/>
<tab type="user" url="@ref running-in-parallel" visible="yes" title="Running in parallel" intro=""/> <tab type="user" url="@ref running-in-parallel" visible="yes" title="Running in parallel" intro=""/>
<tab type="user" url="@ref input-and-output-formats" visible="yes" title="Input and output formats" intro=""/> <tab type="user" url="@ref input-and-output-formats" visible="yes" title="Input and output formats" intro=""/>
<tab type="user" url="@ref directory-structure" visible="yes" title="Where to find things" intro=""/>
</tab> </tab>
<tab type="modules" visible="yes" title="Module documentation" intro=""/> <tab type="modules" visible="yes" title="Module documentation" intro=""/>
<tab type="user" url="@ref flow-and-transport-in-porous-media" visible="yes" title="Flow and transport in porous media" intro=""/> <tab type="user" url="@ref flow-and-transport-in-porous-media" visible="yes" title="Flow and transport in porous media" intro=""/>
......
flowchart LR
dumux[dumux]
dumux --- adaptive(adaptive) ---- adaptivedescr{{"Data transfer on new grid adapation indicators."}}
dumux --- assemply(assembly) ---- assemblydescr{{"Matrix assembler and residual for all discretization methods."}}
dumux --- common(common) ---- commondescr{{"Common files of all models:
definition of boundary conditions,
time stepping, splines,
dimensionless numbers..."}}
common --- properties([properties]) --- propertiesdescr{{"Base properties for all models."}}
common --- typetraits([typetraits]) --- typetraitsdescr{{"Helper classes to query type information on compile time."}}
dumux --- discretization(discretization) ---- discretizationdescr{{"Common methods of all discretizations (box, cell-centered TPFA/MPFA, staggered grid):
varible caching, advective and diffusive fluxes..."}}
dumux --- experimental(experimental) ---- experimentaldesc{{"Collection of experimental features."}}
dumux --- flux(flux) ---- fluxdescr{{"Collection of classes used to calculate advective and diffusive fluxes."}}
dumux --- freeflow(freeflow) --- freeflowmodels([models]) --- freeflowdescr{{"Single-phase free flow models using Navier-Stokes
and eddy viscosity bases Reynolds-averaged
Navier-Stokes turbulence models and shallow water equation model."}}
dumux --- geomechanics(geomechanics) --- geomechanicsmodels([models]) --- geomechanicsdescr{{"Elastic and poro-elastic models."}}
dumux --- geometry(geometry) ---- geometrydescr{{"Geometrical algorithms."}}
dumux --- io(io) ---- iodescr{{"Additional in-/output possibilites like reastart files,
gnuplot-interface, VTK-writer extensions and files for grid generations."}}
dumux --- linear(linear) ---- lineardescr{{"Linear solver backend."}}
dumux --- material(material) --- binarycoefficients([binarycoefficents]) --- binarycoefficentsdescr{{"Binary coefficients (like binary diffusion coefficients) and
those needed for the constitutive relationships (e.g. Henry coefficient)."}}
material --- chemistry([chemistry]) --- chemistrydescr{{"Files needed to account for, e.g. electro-chemical processes as in a fuel cell."}}
material --- components([components]) --- componentsdescr{{"Properties of a pure chemical substance (e.g. water) or pseudo substance (e.g. air.)"}}
material --- constraintsolvers([constraintsolvers]) --- constrainsolversdescr{{"Constraint solvers to make sure
that the resulting fluid state is consistent with a given set of thermodynamic equations."}}
material --- eos([eos]) --- eosdescr{{"Equations of state (eos) are auxiliary classes which provide relations between a
fluid phase’s temperature, pressure, composition and density."}}
material --- fluidmatrixinteractions([fluidmatrixinteractions]) --- fluidmatrixinteractionsdescr{{"Constitutive relationships (e.g. capillary pressures, relative permeabilities)."}}
material --- fluidstates([fluidstates]) --- fluidstatesdescr{{"Fluid states are responsible for caching the thermodynamic configuration of a
fluid system at a given spatial and temporal position."}}
material --- fluidsystems([fluidsystems]) --- fluidsystemsdescr{{"Fluid systems express the thermodynamic relations between quantities."}}
material --- solidstates([solidstates]) --- solidstatesdescr{{"Solid states are responsible for caching the thermodynamic configuration of a
solid system at a given spatial and temporal position."}}
material --- solidsytems([solidsystems]) --- solidsystemsdescr{{"Solid systems express the thermodynamic properties of a solid."}}
dumux --- multidomain(multidomain) ---- multidomaindescr{{"Common infrastructure to couple multiple domains, models or physics."}}
multidomain --- embedded([embedded]) --- embeddeddescr{{"Embedding a lower-dimensional model into a higher-dimensional one."}}
multidomain --- facet([facet]) --- facetdescr{{"Mixed-dimensional coupling at facets."}}
multidomain --- boundary([boundary]) --- boundarydescr{{"Coupling at the domain boundaries."}}
dumux --- nonlinear(nonlinear) ---- nonlineardescr{{"Newton’s method."}}
dumux --- parallel(parllel) ---- paralleldescr{{"Helper files for parallel simulations."}}
dumux --- porenetwork(porenetwork) --- porenetworkmodels([models]) --- porenetworkdescr{{"Specific definition for porenetwork models."}}
dumux --- porousmediumflow(porousmediumflow) --- porousmediumflowmodels([models]) --- porousmediumflowdescr{{"Specific definition for porous medium flow simulations for all models: imple-
mentation of equations, model specific properties and indices."}}
dumux --- pyton(python) ---- pythondescr{{"The DuMux Python interface package."}}
\ No newline at end of file
# Directory Structure
DuMux has the following folder structure, which is similar to other DUNE modules.
* `bin`: binaries, e.g. used for the automatic testing, post-processing, installation
* `cmake`: the configuration options for building DuMux
* `doc`: files necessary for the Doxygen documentation and various logos
* `dumux`: the main folder, containing the source files. See below for a visualized structure.
* `examples`: well-documented examples of applying DuMux to typical physical problems. In the `README.md` files, the setup is explained, the used code is presented as well as documented and images resulting from the simulation are included. The `README.md` files are located directly in the subfolders of `examples` and can be displayed by web browsers.
* `test`: tests for each numerical model and some functionality.The structure is equivalent to the `dumux` folder, the `references` folder contains solutions for the automatic testing. Each test program consist of a main file `main.cc`, the problem definition `*problem.hh` (specifying initial and boundary conditions), and an input file `params.input`. If necessary, spatially dependent parameters are defined in `*spatialparameters.hh`. For more detailed descriptions of the tests, please have a look at the [examples](https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/tree/master/examples#open_file_folder-example-1-diffusion-equation).
@mermaid{"./images/dumux_structure.mmd}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment