diff --git a/MaterialLib/SolidModels/MFront/CMakeLists.txt b/MaterialLib/SolidModels/MFront/CMakeLists.txt
index 6facf3fc1416de3699a491ec8643f4b289a04838..d1e05c8f8508c73c071093d522d72bbb93b1f942 100644
--- a/MaterialLib/SolidModels/MFront/CMakeLists.txt
+++ b/MaterialLib/SolidModels/MFront/CMakeLists.txt
@@ -18,7 +18,9 @@ mfront_behaviours_check_library(OgsMFrontBehaviour
                                 MohrCoulombAbboSloan
                                 MohrCoulombAbboSloanOrtho
                                 StandardElasticityBrick
-                                StandardElasticityBrickOrtho)
+                                StandardElasticityBrickOrtho
+                                Lubby2
+                                Lubby2mod)
 
 target_include_directories(MaterialLib_SolidModels_MFront
                            PUBLIC ThirdParty/MGIS/include)
diff --git a/MaterialLib/SolidModels/MFront/Lubby2.mfront b/MaterialLib/SolidModels/MFront/Lubby2.mfront
new file mode 100644
index 0000000000000000000000000000000000000000..a3d0048369d1d8d265e3086d1a41ae4ef0f86058
--- /dev/null
+++ b/MaterialLib/SolidModels/MFront/Lubby2.mfront
@@ -0,0 +1,99 @@
+
+@DSL Implicit;
+@Behaviour Lubby2;
+@Author Thomas Nagel, Tengfei Deng;
+@Description
+{Lubby2 model for stationary
+and transient creep based on Burgers
+rheological model
+};
+
+@Algorithm NewtonRaphson;
+@MaximumNumberOfIterations 100;
+
+@Brick StandardElasticity;
+
+@Epsilon 1.e-14;
+@Theta 1.0;
+@Parameter local_zero_tolerance = 1.e-14;
+
+@ModellingHypotheses{".+"};
+
+// Intercept of yield function
+@MaterialProperty real GK0;
+GK0.setEntryName("KelvinShearModulus");
+@MaterialProperty real etaK0;
+etaK0.setEntryName("KelvinViscosity");
+@MaterialProperty real etaM0;
+etaM0.setEntryName("MaxwellViscosity");
+@MaterialProperty real mK;
+mK.setEntryName("KelvinElasticParameter");
+@MaterialProperty real mvK;
+mvK.setEntryName("KelvinViscoParameter");
+@MaterialProperty real mvM;
+mvM.setEntryName("MaxwellViscoParameter");
+
+@StateVariable Stensor epsK;
+epsK.setEntryName("KelvinStrain");
+
+@StateVariable Stensor epsM;
+epsM.setEntryName("MaxwellStrain");
+
+//! Second Lamé coefficient
+@LocalVariable stress mu;
+
+@InitLocalVariables
+{
+    mu = computeMu(young, nu);
+    // Compute initial elastic strain
+    eel = 1. / (2. * mu) * sig - nu / young * trace(sig) * Stensor::Id();
+}
+
+@Integrator
+{
+    // Implicit system
+    constexpr auto id4 = Stensor4::Id();
+    constexpr auto Pdev = Stensor4::K();
+
+    const auto sigma_eff = std::max(sigmaeq(sig), local_zero_tolerance * mu);
+
+    const auto s = deviator(sig);
+    const auto k = deviator(epsK + depsK);
+
+    const auto etaK = etaK0 * std::exp(mvK * sigma_eff);
+    const auto etaM = etaM0 * std::exp(mvM * sigma_eff);
+    const auto GK = GK0 * std::exp(mK * sigma_eff);
+    const auto s_m_2G_eK = s - 2.0 * GK * k;
+
+    // residuals
+    feel += depsM + depsK;
+
+    // calculate Kelvin strain residual
+    fepsK = depsK - dt / (2.0 * etaK) * s_m_2G_eK;
+
+    // calculate Maxwell strain residual
+    fepsM = depsM - dt / (2.0 * etaM) * s;
+
+    // Pdev * D
+    const auto Pdev_D = 2 * mu * Pdev;
+
+    // Jacobian
+    const auto dsigma_eff_ddeel = 3. / (2. * sigma_eff) * s | (Pdev_D);
+    const auto detaK_ddeel = etaK * mvK * dsigma_eff_ddeel;
+    const auto detaM_ddeel = etaM * mvM * dsigma_eff_ddeel;
+    const auto dGK_ddeel = GK * mK * dsigma_eff_ddeel;
+
+    // dfeel_ddeel = id4; //initialized as such
+    dfeel_ddepsK = id4;
+    dfeel_ddepsM = id4;
+
+    dfepsK_ddeel = (dt / (2.0 * etaK * etaK) * s_m_2G_eK ^ detaK_ddeel) -
+                   (dt / (2.0 * etaK) * Pdev_D) + (dt / etaK * k ^ dGK_ddeel);
+    dfepsK_ddepsK = (1. + dt * GK / etaK) * id4;
+    // dfepsK_ddepsM is all zero --> nothing to do
+
+    dfepsM_ddeel = (dt / (2.0 * etaM * etaM) * s ^ detaM_ddeel) -
+                   (dt / (2.0 * etaM) * Pdev_D);
+    // dfepsM_ddepsK is all zero --> nothing to do
+    dfepsM_ddepsM = id4;
+}
diff --git a/MaterialLib/SolidModels/MFront/Lubby2.py b/MaterialLib/SolidModels/MFront/Lubby2.py
new file mode 100644
index 0000000000000000000000000000000000000000..92905601e5f54ca233b32983912ba916a0696810
--- /dev/null
+++ b/MaterialLib/SolidModels/MFront/Lubby2.py
@@ -0,0 +1,69 @@
+import mtest
+import numpy as np
+import matplotlib.pyplot as plt
+
+
+GM0  = 9.54e3
+KM0  = 2.78e4
+GK0  = 6.27e4
+mK   = -0.254
+mvK  = -0.327
+mvM  = -0.267
+etaK0= 1.66e5
+etaM0= 4.03e7
+tmax = 15.
+
+
+m    = mtest.MTest()
+mtest.setVerboseMode(mtest.VerboseLevel.VERBOSE_QUIET)
+m.setMaximumNumberOfSubSteps(10)
+m.setBehaviour('generic', 'src/libBehaviour.so', 'Lubby2')
+m.setExternalStateVariable("Temperature", 293.15)
+m.setImposedStress('SXX', 0.0)
+m.setImposedStress('SYY', 0.0)
+m.setImposedStress('SZZ', 0.0)
+m.setImposedStress('SXZ', 0.0)
+m.setImposedStress('SYZ', 0.0)
+m.setImposedStress('SXY', {0: 0, 1.e-5 : 5 * np.sqrt(2.), 15 : 5 * np.sqrt(2.)}) #Kelvin Mapping of shear components!!
+
+m.setMaterialProperty('YoungModulus', (9 * GM0 * KM0) / (3 * KM0 + GM0)) #this was the wrong equation
+m.setMaterialProperty('PoissonRatio', (3 * KM0 - 2 * GM0) / (2 * GM0 + 6 * KM0)) #this was the wrong equation
+m.setMaterialProperty('KelvinShearModulus', GK0)
+m.setMaterialProperty('KelvinViscosity', etaK0)
+m.setMaterialProperty('MaxwellViscosity', etaM0)
+m.setMaterialProperty('KelvinElasticParameter', mK)
+m.setMaterialProperty('MaxwellViscoParameter', mvM) #these were switched
+m.setMaterialProperty('KelvinViscoParameter', mvK) #these were switched
+
+sig_xy = 5.
+sig_eff = np.sqrt(3.)*sig_xy
+
+GK=GK0*np.exp(mK*sig_eff)
+etaK=etaK0*np.exp(mvK*sig_eff)
+etaM=etaM0*np.exp(mvM*sig_eff)
+
+
+eps_xy = lambda t: ((1./GM0 + t/etaM)*sig_xy + 1./GK*(1.-np.exp(-GK/etaK*t))*sig_xy)/2.
+
+s = mtest.MTestCurrentState()
+wk = mtest.MTestWorkSpace()
+m.completeInitialisation()
+m.initializeCurrentState(s)
+m.initializeWorkSpace(wk)
+
+ltime = np.append(np.linspace(0,1e-5,10),np.linspace(2.e-5,tmax,200))
+
+numerical = np.array([0.])
+
+#run sim
+for i in range(len(ltime)-1):
+    m.execute(s, wk, ltime[i], ltime[i + 1])
+    numerical = np.append(numerical,s.e1[3]/np.sqrt(2.)) #Kelvin mapping backwards!
+
+fig,ax = plt.subplots()
+ax.plot(ltime,numerical*100.,label='numerical')
+ax.plot(ltime,eps_xy(ltime)*100.,label='analytical')
+ax.set_xlabel('$t$ / d')
+ax.set_ylabel('$\\epsilon_{xy}$ / %')
+fig.legend()
+fig.savefig('lubby_mfront.pdf')
diff --git a/MaterialLib/SolidModels/MFront/Lubby2mod.mfront b/MaterialLib/SolidModels/MFront/Lubby2mod.mfront
new file mode 100644
index 0000000000000000000000000000000000000000..42ee281d0e32029f5c6c57ec36219fed97ffba44
--- /dev/null
+++ b/MaterialLib/SolidModels/MFront/Lubby2mod.mfront
@@ -0,0 +1,94 @@
+
+@DSL Implicit;
+@Behaviour Lubby2mod;
+@Author Thomas Nagel, Thomas Helfer;
+@Description
+{Lubby2 model for stationary
+and transient creep based on Burgers
+rheological model.
+Reduced implementation.
+};
+
+@Algorithm NewtonRaphson;
+@MaximumNumberOfIterations 100;
+
+@Epsilon 1.e-14;
+@Theta 1.0;
+
+@ModellingHypotheses{".+"};
+@Brick StandardElasticity;
+
+// Intercept of yield function
+@MaterialProperty real GK0;
+GK0.setEntryName("KelvinShearModulus");
+@MaterialProperty real etaK0;
+etaK0.setEntryName("KelvinViscosity");
+@MaterialProperty real etaM0;
+etaM0.setEntryName("MaxwellViscosity");
+@MaterialProperty real mK;
+mK.setEntryName("KelvinElasticParameter");
+@MaterialProperty real mvK;
+mvK.setEntryName("KelvinViscoParameter");
+@MaterialProperty real mvM;
+mvM.setEntryName("MaxwellViscoParameter");
+
+@AuxiliaryStateVariable Stensor epsK;
+epsK.setEntryName("KelvinStrain");
+
+//! increment of the Kelvin strain
+@LocalVariable Stensor depsK;
+//! increment of the Maxwell strain
+@LocalVariable Stensor depsM;
+
+//! Second Lamé coefficient
+@LocalVariable stress mu;
+
+@InitLocalVariables
+{
+    mu = computeMu(young, nu);
+    // Compute initial elastic strain
+    eel = 1. / (2. * mu) * sig - nu / young * trace(sig) * Stensor::Id();
+}
+
+@Integrator
+{
+    const auto seq = sigmaeq(sig);
+    const auto iseq = 1. / std::max(seq, 1.e-14 * mu);
+    const auto s = deviator(sig);
+    constexpr auto Pdev = Stensor4::K();
+
+    const auto etaK = etaK0 * std::exp(mvK * seq);
+    const auto etaM = etaM0 * std::exp(mvM * seq);
+    const auto GK = GK0 * std::exp(mK * seq);
+
+    // calculate Kelvin strain residual
+    const auto etaK_impl = etaK + dt * GK * theta;
+    depsK = dt / (2. * etaK_impl) * (s - 2 * GK * epsK);
+
+    // calculate Maxwell strain residual
+    depsM = dt / (2 * etaM) * s;
+
+    // residuals
+    feel += depsM + depsK;
+
+    // Jacobian
+    // Pdev_D
+    const auto Pdev_D = 2 * mu * Pdev;
+    const auto dseq_ddeel = 3. * iseq / 2. * s | (Pdev_D);
+    const auto detaK_ddeel = etaK * mvK * dseq_ddeel;
+    const auto detaM_ddeel = etaM * mvM * dseq_ddeel;
+    const auto dGK_ddeel = GK * mK * dseq_ddeel;
+    //
+    dfeel_ddeel +=
+        -(dt / (2 * etaK_impl * etaK_impl) * (s - 2 * GK * epsK) ^
+          detaK_ddeel) +
+        (dt / (2 * etaK_impl) * Pdev_D) - dt / etaK_impl * (epsK ^ dGK_ddeel) -
+        dt / (2 * etaK_impl * etaK_impl) * dt * theta *
+            ((s - 2 * GK * epsK) ^ dGK_ddeel) -
+        (dt / (2 * etaM * etaM) * s ^ detaM_ddeel) + (dt / (2 * etaM) * Pdev_D);
+}
+
+@UpdateAuxiliaryStateVariables
+{
+    epsK += depsK;
+}  // end of @UpdateAuxiliaryStateVariables
diff --git a/ProcessLib/SmallDeformation/Tests.cmake b/ProcessLib/SmallDeformation/Tests.cmake
index fbaf77f9c9adad00495a86df9fbf259625fb94c9..a804d38feb6f380f150d5d64368a7507e83e187a 100644
--- a/ProcessLib/SmallDeformation/Tests.cmake
+++ b/ProcessLib/SmallDeformation/Tests.cmake
@@ -60,6 +60,8 @@ if (OGS_USE_MFRONT)
     OgsTest(PROJECTFILE Mechanics/Linear/MFront/square_1e0_orthotropic_xyz.prj)
     OgsTest(PROJECTFILE Mechanics/Linear/MFront/square_1e0_orthotropic_45xy_z.prj)
     OgsTest(PROJECTFILE Mechanics/Linear/MFront/square_1e0_orthotropic_y-xz.prj)
+    OgsTest(PROJECTFILE Mechanics/Burgers/cube_1e0_mfront.prj)
+    OgsTest(PROJECTFILE Mechanics/Burgers/cube_1e0_mfront_mod.prj)
 # Linear elastic, no internal state variables, no external state variables.
 AddTest(
     NAME Mechanics_SDL_disc_with_hole_mfront
@@ -224,4 +226,4 @@ AddTest(
     DIFF_DATA
     output_pcs_0_ts_1_t_1.000000.vtu output_pcs_0_ts_1_t_1.000000.vtu displacement displacement 0 1e-12
     output_pcs_0_ts_1_t_1.000000.vtu output_pcs_0_ts_1_t_1.000000.vtu principal_stress_values principal_stress_values 0 1e-10
-)
\ No newline at end of file
+)
diff --git a/Tests/Data/Mechanics/Burgers/cube_1e0_mfront.prj b/Tests/Data/Mechanics/Burgers/cube_1e0_mfront.prj
new file mode 100644
index 0000000000000000000000000000000000000000..b62fb50945ecb3ea95d3fa45030080f13bc6228d
--- /dev/null
+++ b/Tests/Data/Mechanics/Burgers/cube_1e0_mfront.prj
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<OpenGeoSysProject>
+    <mesh>cube_1x1x1_hex_1e0.vtu</mesh>
+    <geometry>cube_1x1x1.gml</geometry>
+    <processes>
+        <process>
+            <name>SD</name>
+            <type>SMALL_DEFORMATION</type>
+            <integration_order>2</integration_order>
+            <constitutive_relation>
+                <type>MFront</type>
+                <behaviour>Lubby2</behaviour>
+                <material_properties>
+                    <material_property name="YoungModulus" parameter="YoungModulus"/>
+                    <material_property name="PoissonRatio" parameter="PoissonRatio"/>
+                    <material_property name="KelvinShearModulus" parameter="GK0"/>
+                    <material_property name="KelvinViscosity" parameter="etaK0"/>
+                    <material_property name="MaxwellViscosity" parameter="etaM0"/>
+                    <material_property name="KelvinElasticParameter" parameter="mK"/>
+                    <material_property name="MaxwellViscoParameter" parameter="mvM"/>
+                    <material_property name="KelvinViscoParameter" parameter="mvK"/>
+                </material_properties>
+            </constitutive_relation>
+            <solid_density>rho_sr</solid_density>
+            <specific_body_force>0 0 0</specific_body_force>
+            <process_variables>
+                <process_variable>displacement</process_variable>
+            </process_variables>
+            <secondary_variables>
+                <secondary_variable internal_name="sigma" output_name="sigma"/>
+            </secondary_variables>
+        </process>
+    </processes>
+    <time_loop>
+        <processes>
+            <process ref="SD">
+                <nonlinear_solver>basic_newton</nonlinear_solver>
+                <convergence_criterion>
+                    <type>DeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <abstol>1e-15</abstol>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial>0</t_initial>
+                    <t_end>1</t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>0.0001</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>100</repeat>
+                            <delta_t>0.01</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+        </processes>
+        <output>
+            <type>VTK</type>
+            <prefix>cube_1e0_mfront</prefix>
+            <timesteps>
+                <pair>
+                    <repeat>1</repeat>
+                    <each_steps>1</each_steps>
+                </pair>
+                <pair>
+                    <repeat>1</repeat>
+                    <each_steps>10000000</each_steps>
+                </pair>
+            </timesteps>
+            <variables>
+                <variable>displacement</variable>
+                <variable>sigma</variable>
+            </variables>
+        </output>
+    </time_loop>
+    <parameters>
+        <parameter>
+            <name>GK0</name>
+            <type>Constant</type>
+            <value>0.8</value>
+        </parameter>
+        <parameter>
+            <name>etaK0</name>
+            <type>Constant</type>
+            <value>0.5</value>
+        </parameter>
+        <parameter>
+            <name>YoungModulus</name>
+            <type>Constant</type>
+            <value>1.8</value>
+        </parameter>
+        <parameter>
+            <name>PoissonRatio</name>
+            <type>Constant</type>
+            <value>0.125</value>
+        </parameter>
+        <parameter>
+            <name>etaM0</name>
+            <type>Constant</type>
+            <value>0.5</value>
+        </parameter>
+        <parameter>
+            <name>mK</name>
+            <type>Constant</type>
+            <value>-0.2</value>
+        </parameter>
+        <parameter>
+            <name>mvK</name>
+            <type>Constant</type>
+            <value>-0.2</value>
+        </parameter>
+        <parameter>
+            <name>mvM</name>
+            <type>Constant</type>
+            <value>-0.3</value>
+        </parameter>
+        <parameter>
+            <name>rho_sr</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>displacement0</name>
+            <type>Constant</type>
+            <values>0 0 0</values>
+        </parameter>
+        <parameter>
+            <name>neumann_force</name>
+            <type>Constant</type>
+            <values>0.01</values>
+        </parameter>
+        <parameter>
+            <name>dirichlet0</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+    </parameters>
+    <process_variables>
+        <process_variable>
+            <name>displacement</name>
+            <components>3</components>
+            <order>1</order>
+            <initial_condition>displacement0</initial_condition>
+            <boundary_conditions>
+                <!-- fixed boundaries -->
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>left</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>back</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>front</geometry>
+                    <type>Dirichlet</type>
+                    <component>0</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>front</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>right</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <!-- force -->
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>back</geometry>
+                    <type>Neumann</type>
+                    <component>0</component>
+                    <parameter>neumann_force</parameter>
+                </boundary_condition>
+                <!-- fix front for the 3d case -->
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>top</geometry>
+                    <type>Dirichlet</type>
+                    <component>2</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>bottom</geometry>
+                    <type>Dirichlet</type>
+                    <component>2</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+    </process_variables>
+    <nonlinear_solvers>
+        <nonlinear_solver>
+            <name>basic_newton</name>
+            <type>Newton</type>
+            <max_iter>4</max_iter>
+            <linear_solver>general_linear_solver</linear_solver>
+        </nonlinear_solver>
+    </nonlinear_solvers>
+    <linear_solvers>
+        <linear_solver>
+            <name>general_linear_solver</name>
+            <lis>-i cg -p jacobi -tol 1e-16 -maxiter 10000</lis>
+            <eigen>
+                <solver_type>CG</solver_type>
+                <precon_type>DIAGONAL</precon_type>
+                <max_iteration_step>10000</max_iteration_step>
+                <error_tolerance>1e-16</error_tolerance>
+            </eigen>
+            <petsc>
+                <prefix>sd</prefix>
+                <parameters>-sd_ksp_type cg -sd_pc_type bjacobi -sd_ksp_rtol 1e-16 -sd_ksp_max_it 10000</parameters>
+            </petsc>
+        </linear_solver>
+    </linear_solvers>
+    <test_definition>
+        <vtkdiff>
+            <file>cube_1e0_mfront_pcs_0_ts_1_t_0.000100.vtu</file>
+            <field>displacement</field>
+            <absolute_tolerance>1e-16</absolute_tolerance>
+            <relative_tolerance>1e-16</relative_tolerance>
+        </vtkdiff>
+        <vtkdiff>
+            <file>cube_1e0_mfront_pcs_0_ts_101_t_1.000000.vtu</file>
+            <field>displacement</field>
+            <absolute_tolerance>1e-16</absolute_tolerance>
+            <relative_tolerance>1e-16</relative_tolerance>
+        </vtkdiff>
+    </test_definition>
+</OpenGeoSysProject>
diff --git a/Tests/Data/Mechanics/Burgers/cube_1e0_mfront_mod.prj b/Tests/Data/Mechanics/Burgers/cube_1e0_mfront_mod.prj
new file mode 100644
index 0000000000000000000000000000000000000000..5f9963108631360c8b07f69c617932b63a27b420
--- /dev/null
+++ b/Tests/Data/Mechanics/Burgers/cube_1e0_mfront_mod.prj
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<OpenGeoSysProject>
+    <mesh>cube_1x1x1_hex_1e0.vtu</mesh>
+    <geometry>cube_1x1x1.gml</geometry>
+    <processes>
+        <process>
+            <name>SD</name>
+            <type>SMALL_DEFORMATION</type>
+            <integration_order>2</integration_order>
+            <constitutive_relation>
+                <type>MFront</type>
+                <behaviour>Lubby2mod</behaviour>
+                <material_properties>
+                    <material_property name="YoungModulus" parameter="YoungModulus"/>
+                    <material_property name="PoissonRatio" parameter="PoissonRatio"/>
+                    <material_property name="KelvinShearModulus" parameter="GK0"/>
+                    <material_property name="KelvinViscosity" parameter="etaK0"/>
+                    <material_property name="MaxwellViscosity" parameter="etaM0"/>
+                    <material_property name="KelvinElasticParameter" parameter="mK"/>
+                    <material_property name="MaxwellViscoParameter" parameter="mvM"/>
+                    <material_property name="KelvinViscoParameter" parameter="mvK"/>
+                </material_properties>
+            </constitutive_relation>
+            <solid_density>rho_sr</solid_density>
+            <specific_body_force>0 0 0</specific_body_force>
+            <process_variables>
+                <process_variable>displacement</process_variable>
+            </process_variables>
+            <secondary_variables>
+                <secondary_variable internal_name="sigma" output_name="sigma"/>
+            </secondary_variables>
+        </process>
+    </processes>
+    <time_loop>
+        <processes>
+            <process ref="SD">
+                <nonlinear_solver>basic_newton</nonlinear_solver>
+                <convergence_criterion>
+                    <type>DeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <abstol>1e-15</abstol>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial>0</t_initial>
+                    <t_end>1</t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>1</repeat>
+                            <delta_t>0.0001</delta_t>
+                        </pair>
+                        <pair>
+                            <repeat>100</repeat>
+                            <delta_t>0.01</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+        </processes>
+        <output>
+            <type>VTK</type>
+            <prefix>cube_1e0_mfront_mod</prefix>
+            <timesteps>
+                <pair>
+                    <repeat>1</repeat>
+                    <each_steps>1</each_steps>
+                </pair>
+                <pair>
+                    <repeat>1</repeat>
+                    <each_steps>10000000</each_steps>
+                </pair>
+            </timesteps>
+            <variables>
+                <variable>displacement</variable>
+                <variable>sigma</variable>
+            </variables>
+        </output>
+    </time_loop>
+    <parameters>
+        <parameter>
+            <name>GK0</name>
+            <type>Constant</type>
+            <value>0.8</value>
+        </parameter>
+        <parameter>
+            <name>etaK0</name>
+            <type>Constant</type>
+            <value>0.5</value>
+        </parameter>
+        <parameter>
+            <name>YoungModulus</name>
+            <type>Constant</type>
+            <value>1.8</value>
+        </parameter>
+        <parameter>
+            <name>PoissonRatio</name>
+            <type>Constant</type>
+            <value>0.125</value>
+        </parameter>
+        <parameter>
+            <name>etaM0</name>
+            <type>Constant</type>
+            <value>0.5</value>
+        </parameter>
+        <parameter>
+            <name>mK</name>
+            <type>Constant</type>
+            <value>-0.2</value>
+        </parameter>
+        <parameter>
+            <name>mvK</name>
+            <type>Constant</type>
+            <value>-0.2</value>
+        </parameter>
+        <parameter>
+            <name>mvM</name>
+            <type>Constant</type>
+            <value>-0.3</value>
+        </parameter>
+        <parameter>
+            <name>rho_sr</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>displacement0</name>
+            <type>Constant</type>
+            <values>0 0 0</values>
+        </parameter>
+        <parameter>
+            <name>neumann_force</name>
+            <type>Constant</type>
+            <values>0.01</values>
+        </parameter>
+        <parameter>
+            <name>dirichlet0</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+    </parameters>
+    <process_variables>
+        <process_variable>
+            <name>displacement</name>
+            <components>3</components>
+            <order>1</order>
+            <initial_condition>displacement0</initial_condition>
+            <boundary_conditions>
+                <!-- fixed boundaries -->
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>left</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>back</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>front</geometry>
+                    <type>Dirichlet</type>
+                    <component>0</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>front</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>right</geometry>
+                    <type>Dirichlet</type>
+                    <component>1</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <!-- force -->
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>back</geometry>
+                    <type>Neumann</type>
+                    <component>0</component>
+                    <parameter>neumann_force</parameter>
+                </boundary_condition>
+                <!-- fix front for the 3d case -->
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>top</geometry>
+                    <type>Dirichlet</type>
+                    <component>2</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
+                    <geometry>bottom</geometry>
+                    <type>Dirichlet</type>
+                    <component>2</component>
+                    <parameter>dirichlet0</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+    </process_variables>
+    <nonlinear_solvers>
+        <nonlinear_solver>
+            <name>basic_newton</name>
+            <type>Newton</type>
+            <max_iter>4</max_iter>
+            <linear_solver>general_linear_solver</linear_solver>
+        </nonlinear_solver>
+    </nonlinear_solvers>
+    <linear_solvers>
+        <linear_solver>
+            <name>general_linear_solver</name>
+            <lis>-i cg -p jacobi -tol 1e-16 -maxiter 10000</lis>
+            <eigen>
+                <solver_type>CG</solver_type>
+                <precon_type>DIAGONAL</precon_type>
+                <max_iteration_step>10000</max_iteration_step>
+                <error_tolerance>1e-16</error_tolerance>
+            </eigen>
+            <petsc>
+                <prefix>sd</prefix>
+                <parameters>-sd_ksp_type cg -sd_pc_type bjacobi -sd_ksp_rtol 1e-16 -sd_ksp_max_it 10000</parameters>
+            </petsc>
+        </linear_solver>
+    </linear_solvers>
+    <test_definition>
+        <vtkdiff>
+            <file>cube_1e0_mfront_mod_pcs_0_ts_1_t_0.000100.vtu</file>
+            <field>displacement</field>
+            <absolute_tolerance>5e-16</absolute_tolerance>
+            <relative_tolerance>1e-16</relative_tolerance>
+        </vtkdiff>
+        <vtkdiff>
+            <file>cube_1e0_mfront_mod_pcs_0_ts_101_t_1.000000.vtu</file>
+            <field>displacement</field>
+            <absolute_tolerance>5e-16</absolute_tolerance>
+            <relative_tolerance>1e-16</relative_tolerance>
+        </vtkdiff>
+    </test_definition>
+</OpenGeoSysProject>
diff --git a/Tests/Data/Mechanics/Burgers/cube_1e0_mfront_mod_pcs_0_ts_101_t_1.000000.vtu b/Tests/Data/Mechanics/Burgers/cube_1e0_mfront_mod_pcs_0_ts_101_t_1.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..838e7d93e82a0ad0978f48ff1dc7bc20cdd24226
--- /dev/null
+++ b/Tests/Data/Mechanics/Burgers/cube_1e0_mfront_mod_pcs_0_ts_101_t_1.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:60164061441896a52bdf16f205611e380e2f04c7d93ea9f1547f8eb462a3a34c
+size 4930
diff --git a/Tests/Data/Mechanics/Burgers/cube_1e0_mfront_mod_pcs_0_ts_1_t_0.000100.vtu b/Tests/Data/Mechanics/Burgers/cube_1e0_mfront_mod_pcs_0_ts_1_t_0.000100.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..6bd003a38be28fa0a1de361e2046d6cdbe8b184e
--- /dev/null
+++ b/Tests/Data/Mechanics/Burgers/cube_1e0_mfront_mod_pcs_0_ts_1_t_0.000100.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c1be6f1c5238075a780294e13597d77ea69a53b6674102fa993fab4f7db61673
+size 4922
diff --git a/Tests/Data/Mechanics/Burgers/cube_1e0_mfront_pcs_0_ts_101_t_1.000000.vtu b/Tests/Data/Mechanics/Burgers/cube_1e0_mfront_pcs_0_ts_101_t_1.000000.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..71069ac64637542f5079131d3172a61ede1b2981
--- /dev/null
+++ b/Tests/Data/Mechanics/Burgers/cube_1e0_mfront_pcs_0_ts_101_t_1.000000.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:63336e761e4ccef1bc29d05df706f6c7ac8d3d2138dc75d67931d2a18d191282
+size 5058
diff --git a/Tests/Data/Mechanics/Burgers/cube_1e0_mfront_pcs_0_ts_1_t_0.000100.vtu b/Tests/Data/Mechanics/Burgers/cube_1e0_mfront_pcs_0_ts_1_t_0.000100.vtu
new file mode 100644
index 0000000000000000000000000000000000000000..6bd003a38be28fa0a1de361e2046d6cdbe8b184e
--- /dev/null
+++ b/Tests/Data/Mechanics/Burgers/cube_1e0_mfront_pcs_0_ts_1_t_0.000100.vtu
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c1be6f1c5238075a780294e13597d77ea69a53b6674102fa993fab4f7db61673
+size 4922