diff --git a/Applications/ApplicationsLib/ProjectData.cpp b/Applications/ApplicationsLib/ProjectData.cpp
index 765fd9cebb41c73b0d69ef54f56c1dcfa60f3b04..c8ca72b8b383adc721b3e37f4ae7c88b5de546f3 100644
--- a/Applications/ApplicationsLib/ProjectData.cpp
+++ b/Applications/ApplicationsLib/ProjectData.cpp
@@ -435,8 +435,9 @@ void ProjectData::parseProcesses(BaseLib::ConfigTree const& processes_config,
                         "given dimension");
             }
         }
-        else if (type == "THERMOMECHANICS")
+        else if (type == "THERMO_MECHANICS")
         {
+            //! \ogs_file_param{prj__processes__process__THERMO_MECHANICS__dimension}
             switch (process_config.getConfigParameter<int>("dimension"))
             {
                 case 2:
diff --git a/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/c_THERMO_MECHANICS.md b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/c_THERMO_MECHANICS.md
new file mode 100644
index 0000000000000000000000000000000000000000..ecf39dc2ba6aa0d0f201af57cf1e00a57367109f
--- /dev/null
+++ b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/c_THERMO_MECHANICS.md
@@ -0,0 +1 @@
+Coupled thermo-mechanical process. It is implemented monolithically.
\ No newline at end of file
diff --git a/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/constitutive_relation/i_constitutive_relation.md b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/constitutive_relation/i_constitutive_relation.md
new file mode 100644
index 0000000000000000000000000000000000000000..b2ad0ba5cf36292eea4d0e90d489b352f9319d6f
--- /dev/null
+++ b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/constitutive_relation/i_constitutive_relation.md
@@ -0,0 +1 @@
+The constitutive relation for the mechanical part. Only linear elasticity is available in the moment.
\ No newline at end of file
diff --git a/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/constitutive_relation/t_type.md b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/constitutive_relation/t_type.md
new file mode 100644
index 0000000000000000000000000000000000000000..c5e8e713a68891443d07719b5eb1b0ff49fc126d
--- /dev/null
+++ b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/constitutive_relation/t_type.md
@@ -0,0 +1,3 @@
+The type of constitutive relation. See
+ProcessLib::ThermoMechanics::createThermoMechanicsProcess()
+for available implementations.
diff --git a/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/process_variables/i_process_variables.md b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/process_variables/i_process_variables.md
new file mode 100644
index 0000000000000000000000000000000000000000..021139c02f825773ec567b985a8024b81b522c80
--- /dev/null
+++ b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/process_variables/i_process_variables.md
@@ -0,0 +1 @@
+The process variables for displacement and temperature.
diff --git a/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/process_variables/t_displacement.md b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/process_variables/t_displacement.md
new file mode 100644
index 0000000000000000000000000000000000000000..b6d5f29924d468888547d4a5f9eef957f496c26c
--- /dev/null
+++ b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/process_variables/t_displacement.md
@@ -0,0 +1 @@
+Process variable name for displacement.
diff --git a/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/process_variables/t_temperature.md b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/process_variables/t_temperature.md
new file mode 100644
index 0000000000000000000000000000000000000000..f6efd419ab89f60030e6f044c02c53fd9cc44763
--- /dev/null
+++ b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/process_variables/t_temperature.md
@@ -0,0 +1 @@
+Process variable name for temperature.
diff --git a/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_dimension.md b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_dimension.md
new file mode 100644
index 0000000000000000000000000000000000000000..fe666ef74ad120b10ddadd3f2ee29a0b6b8f8dbc
--- /dev/null
+++ b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_dimension.md
@@ -0,0 +1 @@
+Displacement vector dimension. The displacement dimension must be equal to the mesh dimension.
diff --git a/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_linear_thermal_expansion_coefficient.md b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_linear_thermal_expansion_coefficient.md
new file mode 100644
index 0000000000000000000000000000000000000000..4d563968a3893f24413542e22bc418f5ea556ad2
--- /dev/null
+++ b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_linear_thermal_expansion_coefficient.md
@@ -0,0 +1 @@
+Linear expansion changes in one dimension.
\ No newline at end of file
diff --git a/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_reference_temperature.md b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_reference_temperature.md
new file mode 100644
index 0000000000000000000000000000000000000000..4024d69e98356ee7ebe4f5a70a5c3ad8829281ca
--- /dev/null
+++ b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_reference_temperature.md
@@ -0,0 +1 @@
+Reference temperature for the thermo-mechanical process.
diff --git a/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_solid_density.md b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_solid_density.md
new file mode 100644
index 0000000000000000000000000000000000000000..3a6dd634e2304b29405895758785fda257b82e84
--- /dev/null
+++ b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_solid_density.md
@@ -0,0 +1 @@
+Reference solid density. It changes with temperature difference.
diff --git a/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_specific_body_force.md b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_specific_body_force.md
new file mode 100644
index 0000000000000000000000000000000000000000..dd77e37995b3f3628c82ccd1f99f6315167028f8
--- /dev/null
+++ b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_specific_body_force.md
@@ -0,0 +1 @@
+Specific body forces that are used to apply gravitational forces. A vector of displacement dimension's length.
diff --git a/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_specific_heat_capacity.md b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_specific_heat_capacity.md
new file mode 100644
index 0000000000000000000000000000000000000000..497b550f955f7aac7e0cf2172c2009e095b3089f
--- /dev/null
+++ b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_specific_heat_capacity.md
@@ -0,0 +1 @@
+Specific heat capacity is the heat capacity per unit mass of a material.
\ No newline at end of file
diff --git a/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_thermal_conductivity.md b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_thermal_conductivity.md
new file mode 100644
index 0000000000000000000000000000000000000000..f0250dff442183f18614da45694e6ba9b3f70c3c
--- /dev/null
+++ b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/t_thermal_conductivity.md
@@ -0,0 +1 @@
+Thermal conductivity is the property of a material to conduct heat.
\ No newline at end of file
diff --git a/ProcessLib/ThermoMechanics/CreateThermoMechanicsProcess.cpp b/ProcessLib/ThermoMechanics/CreateThermoMechanicsProcess.cpp
index 12320a2d4f9f6911dc7b66499a1f765c9771f45a..681152c7f56959c1f90e3c1d6c9761655fe81192 100644
--- a/ProcessLib/ThermoMechanics/CreateThermoMechanicsProcess.cpp
+++ b/ProcessLib/ThermoMechanics/CreateThermoMechanicsProcess.cpp
@@ -36,20 +36,20 @@ std::unique_ptr<Process> createThermoMechanicsProcess(
     unsigned const integration_order,
     BaseLib::ConfigTree const& config)
 {
-    //! \ogs_file_param{process__type}
-    config.checkConfigParameter("type", "THERMOMECHANICS");
+    //! \ogs_file_param{prj__processes__process__type}
+    config.checkConfigParameter("type", "THERMO_MECHANICS");
     DBUG("Create ThermoMechanicsProcess.");
 
     // Process variable.
 
-    //! \ogs_file_param{prj__processes__process__THERMOMECHANICS__process_variables}
+    //! \ogs_file_param{prj__processes__process__THERMO_MECHANICS__process_variables}
     auto const pv_config = config.getConfigSubtree("process_variables");
 
     auto process_variables = findProcessVariables(
         variables, pv_config,
-        {//! \ogs_file_param_special{prj__processes__process__THERMOMECHANICS__process_variables__temperature}
+        {//! \ogs_file_param_special{prj__processes__process__THERMO_MECHANICS__process_variables__temperature}
          "temperature",
-         //! \ogs_file_param_special{prj__processes__process__THERMOMECHANICS__process_variables__displacement}
+         //! \ogs_file_param_special{prj__processes__process__THERMO_MECHANICS__process_variables__displacement}
          "displacement"});
 
     DBUG("Associate displacement with process variable \'%s\'.",
@@ -80,11 +80,11 @@ std::unique_ptr<Process> createThermoMechanicsProcess(
     // Constitutive relation.
     // read type;
     auto const constitutive_relation_config =
-        //! \ogs_file_param{process__THERMOMECHANICS_constitutive_relation}
+        //! \ogs_file_param{prj__processes__process__THERMO_MECHANICS__constitutive_relation}
         config.getConfigSubtree("constitutive_relation");
 
     auto const type =
-        //! \ogs_file_param{prj__processes__process__THERMOMECHANICS__constitutive_relation__type}
+        //! \ogs_file_param{prj__processes__process__THERMO_MECHANICS__constitutive_relation__type}
         constitutive_relation_config.peekConfigParameter<std::string>("type");
 
     std::unique_ptr<MaterialLib::Solids::MechanicsBase<DisplacementDim>>
@@ -105,41 +105,41 @@ std::unique_ptr<Process> createThermoMechanicsProcess(
     // Solid density
     auto& solid_density = findParameter<double>(
         config,
-        //! \ogs_file_param_special{process__THERMOMECHANICS_solid_density}
+        //! \ogs_file_param_special{prj__processes__process__THERMO_MECHANICS__solid_density}
         "solid_density", parameters, 1);
     DBUG("Use \'%s\' as solid density parameter.", solid_density.name.c_str());
 
     // Linear thermal expansion coefficient
     auto& linear_thermal_expansion_coefficient = findParameter<double>(
         config,
-        //! \ogs_file_param_special{process__THERMOMECHANICS_linear_thermal_expansion_coefficient}
+        //! \ogs_file_param_special{prj__processes__process__THERMO_MECHANICS__linear_thermal_expansion_coefficient}
         "linear_thermal_expansion_coefficient", parameters, 1);
     DBUG("Use \'%s\' as linear thermal expansion coefficient.",
          linear_thermal_expansion_coefficient.name.c_str());
     // Specific heat capacity
     auto& specific_heat_capacity = findParameter<double>(
         config,
-        //! \ogs_file_param_special{process__THERMOMECHANICS_specific_heat_capacity}
+        //! \ogs_file_param_special{prj__processes__process__THERMO_MECHANICS__specific_heat_capacity}
         "specific_heat_capacity", parameters, 1);
     DBUG("Use \'%s\' as specific heat capacity parameter.",
          specific_heat_capacity.name.c_str());
     // Thermal conductivity
     auto& thermal_conductivity = findParameter<double>(
         config,
-        //! \ogs_file_param_special{process__THERMOMECHANICS_thermal_conductivity}
+        //! \ogs_file_param_special{prj__processes__process__THERMO_MECHANICS__thermal_conductivity}
         "thermal_conductivity", parameters, 1);
     DBUG("Use \'%s\' as thermal conductivity parameter.",
          thermal_conductivity.name.c_str());
     // Reference temperature
     const double reference_temperature =
-        //! \ogs_file_param_special{process__THERMOMECHANICS_reference_temperature}
+        //! \ogs_file_param{prj__processes__process__THERMO_MECHANICS__reference_temperature}
         config.getConfigParameter<double>("reference_temperature");
 
     // Specific body force
     Eigen::Matrix<double, DisplacementDim, 1> specific_body_force;
     {
         std::vector<double> const b =
-            //! \ogs_file_param{prj__processes__process__HYDRO_MECHANICS__specific_body_force}
+            //! \ogs_file_param{prj__processes__process__THERMO_MECHANICS__specific_body_force}
             config.getConfigParameter<std::vector<double>>(
                 "specific_body_force");
         if (specific_body_force.size() != DisplacementDim)
diff --git a/web/content/docs/benchmarks/thermo-mechanics/stress.png b/web/content/docs/benchmarks/thermo-mechanics/stress.png
new file mode 100644
index 0000000000000000000000000000000000000000..4404fc539a06412e60b084e572e99585606ac837
Binary files /dev/null and b/web/content/docs/benchmarks/thermo-mechanics/stress.png differ
diff --git a/web/content/docs/benchmarks/thermo-mechanics/temperature.png b/web/content/docs/benchmarks/thermo-mechanics/temperature.png
new file mode 100644
index 0000000000000000000000000000000000000000..a1fc991498b25e3e59b5313216096a3645eb0ebd
Binary files /dev/null and b/web/content/docs/benchmarks/thermo-mechanics/temperature.png differ
diff --git a/web/content/docs/benchmarks/thermo-mechanics/thermomechanics.md b/web/content/docs/benchmarks/thermo-mechanics/thermomechanics.md
new file mode 100644
index 0000000000000000000000000000000000000000..e03337d96b03a891952b404ae207f9c0a844c5f8
--- /dev/null
+++ b/web/content/docs/benchmarks/thermo-mechanics/thermomechanics.md
@@ -0,0 +1,38 @@
++++
+project = "https://github.com/ufz/ogs-data/blob/master/ThermoMechanics/cube_1e3.prj"
+author = "Xing-Yuan Miao"
+date = "2017-05-08T15:10:33+01:00"
+title = "Thermoelastic Stress"
+weight = 156
+
+[menu]
+  [menu.benchmarks]
+    parent = "thermo-mechanics"
+
++++
+
+{{< project-link >}}
+
+## Problem description
+
+We solve a thermo-mechanical homogeneous model in cube domain. The dimensions of this cube model are 1\,m in all directions. The boundary conditions and temperature loadings, as well as the material can refer Chapter 14 in Kolditz et al. for detailed problem description.
+
+## Results and evaluation
+
+Result showing temperature and stresses development with time in the centre node of the model:
+
+{{< img src="../temperature.png" >}}
+{{< img src="../stress.png" >}}
+
+The analytical solution of stresses after heating is:
+$$
+\begin{equation}
+\sigma_{xx} = \sigma_{yy} = sigma_{zz} = - \frac{\alpha \Delta T E}{1 - 2 \nu}\end{equation} = - 3.260869 \mathrm{MPa}
+$$
+
+The relative error between the numerical simulation and the analytical solution is 9.2 \cdot 10^{-13}.
+
+Kolditz, Olaf, Uwe-Jens Görke, Hua Shao, and Wenqing Wang, eds. Thermo-hydro-mechanical-chemical processes in porous media: benchmarks and examples. Vol. 86. Springer Science & Business Media, 2012.
+
+
+