mammos_mumag.materials#
Materials class.
Functions
  | 
Read material krn file and return as list of dictionaries.  | 
  | 
Read material yaml file.  | 
Classes
  | 
Uniform material domain.  | 
  | 
This class stores, reads, and writes material parameters.  | 
- class mammos_mumag.materials.MaterialDomain(theta=<factory>, phi=<factory>, K1=<factory>, K2=<factory>, Ms=<factory>, A=<factory>)[source]#
 Uniform material domain.
It collects material parameters, constant in a certain domain.
- A: Entity = FieldInfo(annotation=NoneType, required=False, default_factory=A)#
 Exchange stiffness constant in \(\mathrm{J}/\mathrm{m}\).
- K1: Entity = FieldInfo(annotation=NoneType, required=False, default_factory=Ku)#
 First magnetocrystalline anisotropy constant in \(\mathrm{J}/\mathrm{m}^3\).
- K2: Entity = FieldInfo(annotation=NoneType, required=False, default_factory=Ku)#
 Second magnetocrystalline anisotropy constant in \(\mathrm{J}/\mathrm{m}^3\).
- Ms: Entity = FieldInfo(annotation=NoneType, required=False, default_factory=Ms)#
 Spontaneous magnetisation in \(\mathrm{A}/\mathrm{m}\).
- class mammos_mumag.materials.Materials(domains=<factory>, filepath=None)[source]#
 This class stores, reads, and writes material parameters.
- Parameters:
 domains (list[MaterialDomain])
filepath (Path | None)
- add_domain(A, Ms, K1, K2, phi, theta)[source]#
 Append domain with specified parameters.
- Parameters:
 A (float) – Exchange stiffness constant in \(\mathrm{J}/\mathrm{m}\).
Ms (float) – Spontaneous magnetisation in \(\mathrm{A}/\mathrm{m}\).
K1 (float) – First magnetocrystalline anisotropy constant in \(\mathrm{J}/\mathrm{m}^3\).
K2 (float) – Second magnetocrystalline anisotropy constant in \(\mathrm{J}/\mathrm{m}^3\).
phi (float) – Angle of the magnetocrystalline anisotropy axis from the \(x\)-direction in radians.
theta (float) – Angle of the magnetocrystalline anisotropy axis from the \(z\)-direction in radians.
- Return type:
 None
Examples
>>> from mammos_mumag.materials import Materials >>> mat = Materials() >>> mat.add_domain(A=1, Ms=2, K1=3, K2=0, phi=0, theta=0) >>> mat Materials(domains=[MaterialDomain(theta=..., phi=..., K1=..., K2=..., Ms=..., A=...)])
- domains: list[MaterialDomain] = FieldInfo(annotation=NoneType, required=False, default_factory=list)#
 Each domain is a MaterialDomain class of material parameters, constant in each region.
- read(fname)[source]#
 Read materials file.
This function overwrites the current
domainsattribute.Currently accepted formats:
krnandyaml.- Parameters:
 - Raises:
 NotImplementedError – Wrong file format.
- Return type:
 None