# Modules Overview
MOOSE includes a set of community developed physics modules that you can build on to create your own application.

* [Phase Field](PhaseField)
* [Tensor Mechanics](TensorMechanics)
* [Heat Conduction](HeatConduction)
* [Chemical Reactions](ChemicalReactions)
* [Navier Stokes](NavierStokes)
* [Contact](Contact)
* [Porous Flow](PorousFlow)
* [Multiphase flow through porous media (Richards Eq.)](Richards).  This is being superseded by the Porous Flow module.

[](---)

- The purpose of the modules is to encapsulate common kernels, boundary conditions, etc. to prevent code duplication.
- Examples include: heat conduction, solid mechanics, Navier-Stokes, and others.
- *No* export controlled physics (e.g., neutronics) should be put into the modules.
- The modules are organized so that your application can link against only those which it requires.

[](---)
# Modules Anatomy

- All applications are set up to use the modules.
```bash
$ ls moose/modules
contact  misc  phase_field solid_mechanics  chemical_reactions heat_conduction  modules.mk
richards  tensor_mechanics  combined  linear_elasticity  navier_stokes  run_tests  water_steam_eos
```
- The contents of each module are the same as any application.
```bash
$ ls moose/modules/solid_mechanics
Makefile  doc  include  lib  plugins  run_tests  src  tests
```
- Application codes specify the modules they want to use in their Makefiles.
```make
################################## MODULES ####################################
SOLID_MECHANICS   := yes
LINEAR_ELASTICITY := yes
```

[](---)
# Modules: Solid Mechanics Example
[](image:168 width:300px)
[](image:169 width:300px)
[](image:170 width:300px)
[](image:171 width:300px)
[](image:172 width:300px)
[](image:173 width:300px)

[](.left-50[)

- Available in: [moose/modules/solid_mechanics](https://github.com/idaholab/moose/tree/devel/modules/solid_mechanics)
- Stats:
    * 127,650 elements, 25,227 nodes
- Features:
    * Large displacements
    * Plasticity and Creep

[image:168]
    Displacement Magnitude

[](])

[](.right-50[)

[image:169]
    Displacement

[image:170]
    Von Misses Stress

[](])

[](---)
# Modules: Flow Example

[](.left-50[)

-  Available in: [moose/modules/navier_stokes](https://github.com/idaholab/moose/tree/devel/modules/navier_stokes)

- Subsonic Test Case:
    * Mach 0.5 over a circular arc
    * Euler equations
    * 8,232 elements, 9,675 nodes

[image:171]
    Velocity

[](])

[](.right-50[)

[image:172]
    Velocity Streamlines

[image:173]
    Pressure

[](])