AMReX-Microelectronics / FerroX

FerroX is a massively parallel, 3D phase-field simulation framework for modeling ferroelectric materials based scalable logic devices.
Other
9 stars 9 forks source link

Make polarization a three component vector #10

Closed prkkumar closed 1 year ago

prkkumar commented 2 years ago

Currently, we assume the ferroelectric to have uniaxial atomic displacement along the thickness of the film. This allows us to treat polarization as a scalar (Px = 0, Py = 0, Pz = P). In order to simulate general ferroelectrics, we would like to have non-zero Px and Py.

This can be done in the following way:

  1. Initialize a three component MultiFab for P
  2. Modify the RHS of Poisson solve to read div(P) - rho instead of 'dP/dz'
  3. Modify the RHS of TDGL equation to account for all three components
  4. Update time integrator loop to advance Px, Py, and Pz
  5. Add diagnostics for all three components

Note that, we will have to pass new material parameters for Landau free energy term. We should consider renaming the parameters to alpha_* etc instead of alpha, beta, and gamma.

We can use the following paper as a reference: https://aip.scitation.org/doi/pdf/10.1063/1.1377855