Program Structure#
The general procedure of a ferroelectric main program is as follows:
Read necessary parameters from the input files. You may also hard coded all parameters in the program with reading from external input files.
Normalize the parameters. This is purely for numerical benefits, as avoiding multiplication of very large and very small value can improve the solver accuracy.
Simulation system setup using the normalized parameters.
Start the main iteration loop.
solve poisson equation to get the electric driving force
solve the mechanical equilibrium and get the elastic driving force
calculate landau driving force
evolve polarization
output the result of current timestep
Finalize the whole program