diff --git a/micromagneticmodel/__init__.py b/micromagneticmodel/__init__.py index 6b714db..0e3de45 100644 --- a/micromagneticmodel/__init__.py +++ b/micromagneticmodel/__init__.py @@ -9,6 +9,7 @@ from .driver import Driver, ExternalDriver from .dynamics import Damping, Dynamics, DynamicsTerm, Precession, Slonczewski, ZhangLi from .energy import ( + AEI, DMI, RKKY, CubicAnisotropy, diff --git a/micromagneticmodel/energy/__init__.py b/micromagneticmodel/energy/__init__.py index 78e0e24..e9d4dcb 100644 --- a/micromagneticmodel/energy/__init__.py +++ b/micromagneticmodel/energy/__init__.py @@ -1,3 +1,4 @@ +from .aei import AEI from .cubicanisotropy import CubicAnisotropy from .demag import Demag from .dmi import DMI diff --git a/micromagneticmodel/energy/aei.py b/micromagneticmodel/energy/aei.py new file mode 100644 index 0000000..eb750b3 --- /dev/null +++ b/micromagneticmodel/energy/aei.py @@ -0,0 +1,16 @@ +import discretisedfield as df +import ubermagutil as uu +import ubermagutil.typesystem as ts + +from .energyterm import EnergyTerm + + +@uu.inherit_docs +@ts.typesystem(Gamma=ts.Parameter(descriptor=ts.Scalar(), otherwise=df.Field)) +class AEI(EnergyTerm): + r"""AEI energy term.""" + _allowed_attributes = ["Gamma", "nn"] + _reprlatex = r"-" + + def effective_field(self, m): + raise NotImplementedError diff --git a/micromagneticmodel/energy/dmi.py b/micromagneticmodel/energy/dmi.py index fe3d43a..0c35e24 100644 --- a/micromagneticmodel/energy/dmi.py +++ b/micromagneticmodel/energy/dmi.py @@ -20,6 +20,7 @@ "D2d_x", "D2d_y", "D2d_z", + "T_12", }, unpack=False, ), diff --git a/micromagneticmodel/energy/exchange.py b/micromagneticmodel/energy/exchange.py index ed27887..4c99fc3 100644 --- a/micromagneticmodel/energy/exchange.py +++ b/micromagneticmodel/energy/exchange.py @@ -53,7 +53,7 @@ class Exchange(EnergyTerm): TypeError: ... """ - _allowed_attributes = ["A"] + _allowed_attributes = ["A", "nn"] _reprlatex = r"- A \mathbf{m} \cdot \nabla^{2} \mathbf{m}" def effective_field(self, m):