tetrax.experiments package#

Submodules#

tetrax.experiments.calculate_absorption module#

tetrax.experiments.calculate_absorption.calculate_absorption(sample, exp_name, dispersion, antenna, fmin, fmax, Nf, k_calc)#
tetrax.experiments.calculate_absorption.calculate_linewidhts(sample, exp_name, dispersion, k_calc)#

Internal function that calculates linewidhts from existing mode profiles.

tetrax.experiments.calculate_absorption.get_ellipticy_factor(mode_loc, Lambda, dA, return_norm=False) float#

Obtains the ellipticity factor of given mode profile. This factor is important to calculate modal linewidths.

Parameters
mode_locMeshVector

Mesh vector of shape (N,2). Mode profile in local frame of reference.

Lambdacsr_matrix

Sparse matrix of size (2*N,2*N) containing the cross product with the equilibrium magnetization in the local frame of reference.

dAMeshScalar

Volume/area elements of mesh.

return_normbool

Apart from ellipticity coefficient, also return normalization factor of mode (multiplied with volume)

Returns
ellipticity_factorfloat

Ellipticity factor of respective mode.

norm_times_volumefloat

Normalization factor of the multiplied with the volume of the sample (is only return if return_norm=True).

tetrax.experiments.eigen module#

tetrax.experiments.eigen.calculate_normal_modes(sample, Bext, exp_name, kmin=- 40000000.0, kmax=40000000.0, Nk=81, num_modes=20, k=None, no_dip=False, h0_dip=False, num_cpus=1, save_modes=False, save_local=False, save_magphase=False, perturbed_dispersion=False, save_stiffness_fields=False, verbose=True, linewidhts=False)#

2D version

tetrax.experiments.eigen.modes_per_k(N_exc, N_uni, N_cub, N_DMI, N_iDMI, N_uDMI, N_iec, h0, h0_avrg, Lambda, rotation, rotation_T, bndint_order, D_tot, v0, no_dip, scale, Msat, gamma, sample, num_modes, modes_path, save_modes, save_local, save_magphase, perturbed_dispersion, save_stiffness_fields, is_AFM, linewidhts, k)#
tetrax.experiments.eigen.not_implemented_eigensolver(sample, Bext, exp_name, kmin=- 40000000.0, kmax=40000000.0, Nk=81, num_modes=20, k=None, no_dip=False, num_cpus=1, save_modes=False, save_local=False, save_magphase=False)#
tetrax.experiments.eigen.test_rotation(mag, rotation, nx)#

Test of rotation matrix and equilibrium vector match, i.e. rotation rotates mag into the z direction.

tetrax.experiments.relax module#

tetrax.experiments.relax.energy_per_length_spherical(mag_spherical, nx, dA, h_ext, N, N_cub, convert_to_cartesian, scalar_product)#
tetrax.experiments.relax.jac_spherical_afm(mag_spherical, nx, dA, h_ext, N, N_cub, convert_to_cartesian, scalar_product)#
tetrax.experiments.relax.jac_spherical_fm(mag_spherical, nx, dA, h_ext, N, N_cub, convert_to_cartesian, scalar_product)#
tetrax.experiments.relax.minimize_gibbs_free_energy(sample, Bext, tol_cg, return_last=False, continue_with_least_squares=False, verbose=True)#
tetrax.experiments.relax.not_implemented_minimizer(sample, Bext, tol_cg, return_last=False, continue_with_least_squares=False)#

Module contents#