idaholab / moose

Multiphysics Object Oriented Simulation Environment
https://www.mooseframework.org
GNU Lesser General Public License v2.1
1.77k stars 1.05k forks source link

Add CoupledAllenCahn kernel #6194

Closed dschwen closed 8 years ago

dschwen commented 8 years ago

A CoupledAllenCahn kernel will allow the implementation of generalized Gizburg-Landau equations in MOOSE. It seems to me that a generalized Gizburg-Landau equation is basically an Allen-Cahn equation with terms on the right side for the functional derivatives w.r.t. to all order parameters and a summation over the Onsager coefficients (whereas Allen-Cahn typically assomes the Onsager matrix to be diagonal).

Ginzburg-Landau

The right-hand side terms include Allen-Cahn terms for coupled variables for i!=j

Ping @laagesen, @tonkmr

mangerij commented 8 years ago

Yeah this is something we wanted to do for Ferret.

We solve GL but have to write symmetry-dependent kernels. Basically, a different symmetry(material) gives a different F which makes jacobian calculations a real pain. You can see a particular example of how we do this for a cubic-tetragonal symmetry breaking in the kernel BulkEnergyDerivative.C.

Ginzburg terms however are terms that involve _grad psij (are those included in M{ij}?), if so calling a kernel that calculates what you have above would be full generalized Landau-Ginzburg theory or at least this is my understanding.

dschwen commented 8 years ago

Good point about the grad psi. We have the ACInterface term that includes those. They come from possible grad psi dependencies in F. We cannot yet handle arbitrary grad psi dependencies in F using the automatic differentiation yet (maybe through the GradientComponent kernel...).

When you talk about symmetry breaking Kernels, do you mean anisotropic mobilities?

mangerij commented 8 years ago

No, we're looking at symmetry breaking for phase transitions in ferroelectric systems. Under cooling some systems will go from a cubic to tetragonal phase and thus exhibit a electric dipole oriented along the long axis (this dipole is the order parameter in the theory). See

http://www.math.psu.edu/cao/Papers_PDF/Cao-Ferroelectrics-2008.pdf

Table 1 is a good example here, it shows different parent phases with their resultant phases and the free energy to describe this phase transition. This would require a different kernel for each type of phase transition. Table 2 shows the gradient terms one would need.

permcody commented 8 years ago

closed by #6211 and #6253

dschwen commented 8 years ago

Both PRs just ref this issue because it is not done.

The next PR will add a CoupledACInterface class.

dschwen commented 8 years ago

@laagesen please reference this issue for the new CoupledACInterface class. Once you implement it this issue can be closed.