Skip to content

Add deprecation warnings for old objects and renaming (big rework, WIP) #363

@mangerij

Description

@mangerij

I am refactoring the code once again - OLD Ferret Objects should not be used due to the new implementation being flexible enough for all types of problems. This will make developing further features and maintaining the old ones easier. However, I will leave the old objects in the main repository until the tests can be re-golded (ensuring reproducibility for older work).

I will add deprecation warnings for any object that does not fall within the new (heavily benchmarked) implementation.

Also, there will be a renaming - the name CubicParent will accompany any class that is meant to be ONLY used for ferroelectrics with cubic parent phases (i.e. BaTiO3). The name TetraParent will be used for other materials that will eventually be added and tested consistent with the new implementation (see #362).

These changes will ensure that the unified implementation can be used for thin films (with epitaxy), bulk periodic, freestanding membranes and twisted freestanding membranes, as well as nanoparticle simulation setups. The user will only have to worry about the material that they want to simulate, what temperature, and the specific geometry and boundary conditions. No need for confusion of what Kernel or Materials class to use.

And for the first time, there will also be a new folder with a set of .nbs that derive all residual, on-diagonal and off-diagonal jacobian contributions for each family of (i.e CubicParent or TetragParent ) .C files in the unified implementation only.

In time, the following materials should be able to be studied in all formats:

PbTiO3 ✓
BaTiO3 ✓
PZT (wip)
SrTiO3 (with oxygen octahedral structural order parameters) ✓
BiFeO3 (with oxygen octahedral structural order parameters) ✓+(wip)
relaxor FE Ba_xSr_{1-x}TiO3 (x = 0,...,1) ✓
Hf0.5Zr0.5O2 (wip)
CuInP2 (vDW FE) (wip)
alpha-In2Se3 (vDW FE) (wip)

each will carry a careful benchmark study that will be revealed in a methods paper under development

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions