Skip to content

LLGB

LLGBJunction

LLGB Junction class.

Source code in cmtj/llgb/__init__.pyi
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
class LLGBJunction:
    """LLGB Junction class."""

    def __init__(self, layers: List[LLGBLayer]) -> None:
        """Initialises a LLGB junction with layers.
        :param layers: list of LLGB layers."""
        ...

    def clearLog(self) -> None:
        """Clears the simulation log of the junction."""
        ...

    def getLog(self) -> Dict[str, List[float]]:
        """Returns the simulation log of the junction."""
        ...

    def runSimulation(
        self,
        totalTime: float,
        timeStep: float = ...,
        writeFrequency: float = ...,
        log: bool = ...,
        solverMode: cmtj.SolverMode = ...,
    ) -> None:
        """Runs the simulation of the junction.
        :param totalTime: total simulation time.
        :param timeStep: time step.
        :param writeFrequency: frequency of writing to the log.
        :param log: whether to log the simulation.
        :param solverMode: solver mode.
        """
        ...

    def saveLogs(self, arg0: str) -> None:
        """Saves the simulation logs to a file.
        :param arg0: file path."""
        ...

    def setLayerExternalFieldDriver(
        self, layerId: str, driver: cmtj.AxialDriver
    ) -> None:
        """Set an external field driver for a layer.
        :param layerId: the id of the layer.
        :param driver: the field driver to be set."""
        ...

    def setLayerTemperatureDriver(
        self, layerId: str, driver: cmtj.ScalarDriver
    ) -> None:
        """Set a temperature driver for a layer.
        :param layerId: the id of the layer.
        :param driver: the temperature driver to be set.
        """
        ...

__init__(layers)

Initialises a LLGB junction with layers.

Parameters:

Name Type Description Default
layers List[LLGBLayer]

list of LLGB layers.

required
Source code in cmtj/llgb/__init__.pyi
 8
 9
10
11
def __init__(self, layers: List[LLGBLayer]) -> None:
    """Initialises a LLGB junction with layers.
    :param layers: list of LLGB layers."""
    ...

clearLog()

Clears the simulation log of the junction.

Source code in cmtj/llgb/__init__.pyi
13
14
15
def clearLog(self) -> None:
    """Clears the simulation log of the junction."""
    ...

getLog()

Returns the simulation log of the junction.

Source code in cmtj/llgb/__init__.pyi
17
18
19
def getLog(self) -> Dict[str, List[float]]:
    """Returns the simulation log of the junction."""
    ...

runSimulation(totalTime, timeStep=Ellipsis, writeFrequency=Ellipsis, log=Ellipsis, solverMode=Ellipsis)

Runs the simulation of the junction.

Parameters:

Name Type Description Default
totalTime float

total simulation time.

required
timeStep float

time step.

Ellipsis
writeFrequency float

frequency of writing to the log.

Ellipsis
log bool

whether to log the simulation.

Ellipsis
solverMode cmtj.SolverMode

solver mode.

Ellipsis
Source code in cmtj/llgb/__init__.pyi
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
def runSimulation(
    self,
    totalTime: float,
    timeStep: float = ...,
    writeFrequency: float = ...,
    log: bool = ...,
    solverMode: cmtj.SolverMode = ...,
) -> None:
    """Runs the simulation of the junction.
    :param totalTime: total simulation time.
    :param timeStep: time step.
    :param writeFrequency: frequency of writing to the log.
    :param log: whether to log the simulation.
    :param solverMode: solver mode.
    """
    ...

saveLogs(arg0)

Saves the simulation logs to a file.

Parameters:

Name Type Description Default
arg0 str

file path.

required
Source code in cmtj/llgb/__init__.pyi
38
39
40
41
def saveLogs(self, arg0: str) -> None:
    """Saves the simulation logs to a file.
    :param arg0: file path."""
    ...

setLayerExternalFieldDriver(layerId, driver)

Set an external field driver for a layer.

Parameters:

Name Type Description Default
layerId str

the id of the layer.

required
driver cmtj.AxialDriver

the field driver to be set.

required
Source code in cmtj/llgb/__init__.pyi
43
44
45
46
47
48
49
def setLayerExternalFieldDriver(
    self, layerId: str, driver: cmtj.AxialDriver
) -> None:
    """Set an external field driver for a layer.
    :param layerId: the id of the layer.
    :param driver: the field driver to be set."""
    ...

setLayerTemperatureDriver(layerId, driver)

Set a temperature driver for a layer.

Parameters:

Name Type Description Default
layerId str

the id of the layer.

required
driver cmtj.ScalarDriver

the temperature driver to be set.

required
Source code in cmtj/llgb/__init__.pyi
51
52
53
54
55
56
57
58
def setLayerTemperatureDriver(
    self, layerId: str, driver: cmtj.ScalarDriver
) -> None:
    """Set a temperature driver for a layer.
    :param layerId: the id of the layer.
    :param driver: the temperature driver to be set.
    """
    ...

LLGBLayer

LLGB Layer class.

Source code in cmtj/llgb/__init__.pyi
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
class LLGBLayer:
    """LLGB Layer class."""

    def __init__(
        self,
        id: str,
        mag: cmtj.CVector,
        anis: cmtj.CVector,
        Ms: float,
        thickness: float,
        cellSurface: float,
        demagTensor: List[cmtj.CVector],
        damping: float,
        Tc: float,
        susceptibility: float,
        me: float,
    ) -> None:
        """Creates a LLGB layer.
        :param id: layer id.
        :param mag: magnetisation.
        :param anis: anisotropy axis.
        :param Ms: saturation magnetisation.
        :param thickness: thickness.
        :param cellSurface: cell surface.
        :param demagTensor: demagnetisation tensor.
        :param damping: damping factor.
        :param Tc: Curie temperature.
        :param susceptibility: susceptibility.
        :param me: equilibrium magnetisation.
        """
        ...

    def setAnisotropyDriver(self, driver: cmtj.ScalarDriver) -> None:
        """Sets an anisotropy driver.
        :param driver: the anisotropy driver to be set."""
        ...

    def setExternalFieldDriver(self, driver: cmtj.AxialDriver) -> None:
        """Sets an external field driver.
        :param driver: the field driver to be set."""
        ...

    def setTemperatureDriver(self, driver: cmtj.ScalarDriver) -> None:
        """Sets a temperature driver.
        :param driver: the temperature driver to be set."""
        ...

__init__(id, mag, anis, Ms, thickness, cellSurface, demagTensor, damping, Tc, susceptibility, me)

Creates a LLGB layer.

Parameters:

Name Type Description Default
id str

layer id.

required
mag cmtj.CVector

magnetisation.

required
anis cmtj.CVector

anisotropy axis.

required
Ms float

saturation magnetisation.

required
thickness float

thickness.

required
cellSurface float

cell surface.

required
demagTensor List[cmtj.CVector]

demagnetisation tensor.

required
damping float

damping factor.

required
Tc float

Curie temperature.

required
susceptibility float

susceptibility.

required
me float

equilibrium magnetisation.

required
Source code in cmtj/llgb/__init__.pyi
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
def __init__(
    self,
    id: str,
    mag: cmtj.CVector,
    anis: cmtj.CVector,
    Ms: float,
    thickness: float,
    cellSurface: float,
    demagTensor: List[cmtj.CVector],
    damping: float,
    Tc: float,
    susceptibility: float,
    me: float,
) -> None:
    """Creates a LLGB layer.
    :param id: layer id.
    :param mag: magnetisation.
    :param anis: anisotropy axis.
    :param Ms: saturation magnetisation.
    :param thickness: thickness.
    :param cellSurface: cell surface.
    :param demagTensor: demagnetisation tensor.
    :param damping: damping factor.
    :param Tc: Curie temperature.
    :param susceptibility: susceptibility.
    :param me: equilibrium magnetisation.
    """
    ...

setAnisotropyDriver(driver)

Sets an anisotropy driver.

Parameters:

Name Type Description Default
driver cmtj.ScalarDriver

the anisotropy driver to be set.

required
Source code in cmtj/llgb/__init__.pyi
92
93
94
95
def setAnisotropyDriver(self, driver: cmtj.ScalarDriver) -> None:
    """Sets an anisotropy driver.
    :param driver: the anisotropy driver to be set."""
    ...

setExternalFieldDriver(driver)

Sets an external field driver.

Parameters:

Name Type Description Default
driver cmtj.AxialDriver

the field driver to be set.

required
Source code in cmtj/llgb/__init__.pyi
 97
 98
 99
100
def setExternalFieldDriver(self, driver: cmtj.AxialDriver) -> None:
    """Sets an external field driver.
    :param driver: the field driver to be set."""
    ...

setTemperatureDriver(driver)

Sets a temperature driver.

Parameters:

Name Type Description Default
driver cmtj.ScalarDriver

the temperature driver to be set.

required
Source code in cmtj/llgb/__init__.pyi
102
103
104
105
def setTemperatureDriver(self, driver: cmtj.ScalarDriver) -> None:
    """Sets a temperature driver.
    :param driver: the temperature driver to be set."""
    ...

MFAWeissCurie(me, T, J0, relax=Ellipsis, tolerance=Ellipsis, maxIter=Ellipsis)

Mean Field Approximation for Weiss Curie temperature.

Parameters:

Name Type Description Default
me float

equilibrium magnetisation.

required
T float

temperature.

required
J0 float

exchange coupling.

required
relax float

relaxation factor.

Ellipsis
tolerance float

tolerance for convergence.

Ellipsis
maxIter int

maximum number of iterations.

Ellipsis
Source code in cmtj/llgb/__init__.pyi
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
def MFAWeissCurie(
    me: float,
    T: float,
    J0: float,
    relax: float = ...,
    tolerance: float = ...,
    maxIter: int = ...,
) -> Tuple[float, float]:
    """Mean Field Approximation for Weiss Curie temperature.
    :param me: equilibrium magnetisation.
    :param T: temperature.
    :param J0: exchange coupling.
    :param relax: relaxation factor.
    :param tolerance: tolerance for convergence.
    :param maxIter: maximum number of iterations."""
    ...