Amandus: Simulations based on multilevel Schwarz methods
|
Instationary Cahn-Hilliard model.The Cahn-Hilliard model, which in strong form reads
\[ u' = - \Delta (\frac{1}{\epsilon} w'(u) - \epsilon \Delta u) \]
Where \(w\) is usually a double-well energy function like \((u^2 - 1)^2\). The model can be derived as a gradient flow, minimizing the same Energy functional as the Allen-Cahn model. However, unlike the Allen-Cahn, this model is mass conserving. More...
#include <boost/scoped_ptr.hpp>
#include <deal.II/algorithms/newton.h>
#include <deal.II/algorithms/theta_timestepping.h>
#include <deal.II/base/function.h>
#include <deal.II/fe/fe_tools.h>
#include <deal.II/numerics/dof_output_operator.h>
#include <amandus/adaptivity.h>
#include <amandus/apps.h>
#include <amandus/cahn_hilliard/massout.h>
#include <amandus/cahn_hilliard/matrix.h>
#include <amandus/cahn_hilliard/residual.h>
#include <amandus/cahn_hilliard/samples.h>
Classes | |
class | RefineStrategyCahnHillard< dim > |
Functions | |
int | main (int argc, const char **argv) |
Instationary Cahn-Hilliard model.
The Cahn-Hilliard model, which in strong form reads
\[ u' = - \Delta (\frac{1}{\epsilon} w'(u) - \epsilon \Delta u) \]
Where \(w\) is usually a double-well energy function like \((u^2 - 1)^2\). The model can be derived as a gradient flow, minimizing the same Energy functional as the Allen-Cahn model. However, unlike the Allen-Cahn, this model is mass conserving.
It can be used as a model for seperated phases with \(\epsilon\) controlling the width of the interface. Currently, multigrid is only working for very large \(\epsilon\) which is probably related to the fact that the coarse grids can not resolve sharp interfaces.
As the interface is the only interesting part of the solution, we can use adaptive mesh refinement to calculate with relatively few degrees of freedom.
int main | ( | int | argc, |
const char ** | argv | ||
) |