Skip to content

Commit

Permalink
Micro: updated calc of dmi and class definitions
Browse files Browse the repository at this point in the history
  • Loading branch information
davidcortesortuno committed Oct 31, 2023
1 parent 62b98f1 commit a7a1937
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 13 deletions.
2 changes: 1 addition & 1 deletion fidimag/micro/dmi.py
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,7 @@ def __init__(self, D, name='DMICyl'):
# " as this material class has multiple DMI constants")

def setup(self, mesh, spin, Ms, Ms_inv):
super(DMI, self).setup(mesh, spin, Ms, Ms_inv)
super(DMICylindrical, self).setup(mesh, spin, Ms, Ms_inv)

self.Ds = helper.init_scalar(self.D, self.mesh)
r = self.mesh.coordinates.reshape(-1, 3)
Expand Down
18 changes: 6 additions & 12 deletions fidimag/micro/lib/micro_clib.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,13 @@ cdef extern from "micro_clib.h":
double nz, int z_bottom, int z_top)

void dmi_field(double *m, double *field, double *energy, double *Ms_inv,
double *D, int n_dmis,
double *dmi_vector,
double *D, int n_dmis, double *dmi_vector,
double dx, double dy, double dz,
int n, int *ngbs)

void dmi_field_cyl(double *restrict m, double *restrict field,
double *restrict energy, double *restrict Ms_inv,
double *restrict D,
double dx, double dy, double dz,
int n, int *restrict ngbs,
double *restrict rho)
void dmi_field_cyl(double * m, double * field, double * energy, double * Ms_inv,
double * D, double dx, double dy, double dz,
int n, int * ngbs, double * rho)

void compute_uniaxial_anis(double *m, double *field,
double *energy, double *Ms_inv,
Expand All @@ -40,8 +36,6 @@ cdef extern from "micro_clib.h":
int nx, int ny, int nz, int *ngbs)




def compute_exchange_field_micro(double [:] m,
double [:] field,
double [:] energy,
Expand Down Expand Up @@ -91,8 +85,8 @@ def compute_dmi_field_cyl(double [:] m,
double [:] rho
):

dmi_field(&m[0], &field[0], &energy[0], &Ms_inv[0],
&D[0], dx, dy, dz, n, &ngbs[0, 0], &rho[0])
dmi_field_cyl(&m[0], &field[0], &energy[0], &Ms_inv[0],
&D[0], dx, dy, dz, n, &ngbs[0, 0], &rho[0])


def compute_anisotropy_micro(double [:] m,
Expand Down

0 comments on commit a7a1937

Please sign in to comment.