# 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