materials.py is set up to output materials. Materials have an anisotropy class associated with them. Here's how this could work in future:
energy.py
Ea() could be made a method of CubicAnisotropy
calculate_anisotropies() could be made a method of CubicAnisotropy
calculate_anisotropies() should output cartesian vectors rather than strings
get_material_parms() should be changed to
- New Anisotropy forms could be specified similar to the current for CubicAnisotropy
barriers.py
find_all_barriers() would require a function to determine the number of LEM states from anisotropy. This could be a method of the Anisotropy object.
Many other functions would need to be adjusted to remove TMx from the arguments and instead take a material.
Note that some fiddly stuff will have to be done with jax as I think you can't decorate a method - may have to call an additional function.
materials.py is set up to output materials. Materials have an anisotropy class associated with them. Here's how this could work in future:
energy.py
Ea()could be made a method of CubicAnisotropycalculate_anisotropies()could be made a method of CubicAnisotropycalculate_anisotropies()should output cartesian vectors rather than stringsget_material_parms()should be changed tobarriers.py
find_all_barriers()would require a function to determine the number of LEM states from anisotropy. This could be a method of the Anisotropy object.Many other functions would need to be adjusted to remove TMx from the arguments and instead take a material.
Note that some fiddly stuff will have to be done with jax as I think you can't decorate a method - may have to call an additional function.