Coupled phase field and mechanics simulations require a MOOSE executable that combined the ```phase_field``` and ```tensor_mechanics``` modules. One such executable can be built under ```moose/modules/combined```. That directory also contains a set of examples that are worth looking at.

Full coupling between _phase field_ and _mechanics_ goes both ways

1. The _phase field_ variables influence the _mechanics_ properties
2. The _mechanics_ state creates a free energy contribution that enters the _phase field_ equations

## 1. Mechanical properties
The mechanical properties of the system can (and will) be a function of the phase field variables in a tightly coupled simulation.

- Elasticity tensor
    - Different phases (switched by a non-conserved order parameter) can have different elasticity tensors
    - [`CompositeElasticityTensor`]() is a tensor that depends on phase field variables in an arbitrary way
- Eigen strain (misfit strain, stress-free strain)
    - Different phases (switched by a non-conserved order parameter) can have different Eigen strains. This is used to simulate lattice mismatch between phases.
    - [`ComputeVariableEigenstrain`]() is a tensor with a variable dependent scalar prefactor. It is best used to turn an Eigenstrain on or off depending on a concentration variable.
    - [`CompositeEigenstrain`]() - WIP

## 2. Elastic free energy
To couple the phase field equations with mechanics a contribution of the deformation energy (elastic energy) needs to enter the free energy density of the system. The phase field equations should be assembled using the ```CahnHilliard```, ```SplitCHParsed```, and ```AllenCahn``` [parsed function kernels](/PhysicsModules/PhaseField/DevelopingModels/ParsedFunctionKernels) which all take the free energy as a [Function Material](/PhysicsModules/PhaseField/DevelopingModels/FunctionMaterials).

- Define the _chemical_ free energy using a [Function Material](/PhysicsModules/PhaseField/DevelopingModels/FunctionMaterials).
- The [`ElasticEnergyMaterial`](../DevelopingModels/FunctionMaterials/#elasticenergymaterial) will automatically compute the free energy density contribution using the local stresses and strains.
- Use the [`DerivativeSumMaterial`](../DevelopingModels/FunctionMaterials/#derivativesummaterial) to sum the _chemical_ and _elastic_ free energy contributions to a total free energy (which is then passed to the kernels. 

[]([Displaced Mesh](DisplacedMesh) - Phase field simulation of deformed meshes.)