Skip to content

Commit 22ceb97

Browse files
committed
Refactor all Python code so that tests pass with new extensions location
1 parent f8b6107 commit 22ceb97

32 files changed

+108
-217
lines changed

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@
66
*.pdf
77
*.tmp
88
*.so
9+
*.o
10+
*.dSYM
11+
fidimag/**/*.cpp
12+
13+
914
local/
1015
*~
1116
*.bak

Makefile

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,50 @@ EXTENSIONS_DIR = ${PROJECT_DIR}/fidimag/extensions
33
PYTHON = python3
44
PYTEST = ${PYTHON} -m pytest
55

6+
CC=g++-8
7+
8+
FFTW_INC=local/include
9+
FFTW_LIB=local/lib
10+
11+
SUNDIALS_INC=local/include
12+
SUNDIALS_LIB=local/lib
13+
14+
CPPFLAGS = -fPIC -g -Iinclude/ \
15+
-I${FFTW_INC} -L${FFTW_LIB} \
16+
-I${SUNDIALS_INC} -L${SUNDIALS_LIB} \
17+
-lm \
18+
-lfftw3_omp -lfftw3 \
19+
-lsundials_cvodes -lsundials_nvecserial -lsundials_nvecopenmp \
20+
-lblas -llapack \
21+
-fopenmp
22+
23+
LDFLAGS = -shared
24+
SOURCES = $(shell echo native/src/*.cpp)
25+
OBJECTS = $(SOURCES:.cpp=.o)
26+
LIBRARY = local/lib/libfidimag.so
27+
28+
all: $(LIBRARY) build
29+
30+
$(LIBRARY) : $(OBJECTS)
31+
$(CXX) $(CPPFLAGS) $(OBJECTS) -o $@ $(LDFLAGS)
32+
33+
34+
635
#####################
736
# Cython Extensions #
837
#####################
938

10-
build:
39+
build: $(LIBRARY)
1140
${PYTHON} setup.py build_ext --inplace
1241

42+
43+
44+
1345
clean:
1446
rm -rf ${EXTENSIONS_DIR}/*
1547
touch ${EXTENSIONS_DIR}/__init__.py
1648
rm -rf build
49+
rm -rf $(OBJECTS) $(TARGET) *.dSYM
1750

1851
docker:
1952
docker build -t fidimag -f ./docker/travis/Dockerfile .

fidimag/atomistic/lib/a_clib.pyx renamed to fidimag/atomistic/a_clib.pyx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import numpy
44
cimport numpy as np
55
np.import_array()
66

7-
cdef extern from "fidimag_random.h":
7+
cdef extern from "a_random.h":
88
ctypedef struct mt19937_state:
99
pass
1010

@@ -20,7 +20,7 @@ cdef extern from "time.h":
2020
ctypedef int time_t
2121
time_t time(time_t *timer)
2222

23-
cdef extern from "clib.h":
23+
cdef extern from "a_clib.h":
2424
void run_step_mc(mt19937_state *state, double *spin, double *new_spin,
2525
int *ngbs, int *nngbs, int n_ngbs,
2626
double J, double J1, double D, double D1,

fidimag/atomistic/anisotropy.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import fidimag.extensions.clib as clib
1+
import fidimag.extensions.a_clib as clib
22
import numpy as np
33
from .energy import Energy
44
import fidimag.common.helper as helper

fidimag/atomistic/atomistic_driver.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
from fidimag.common.driver_base import DriverBase
55

6-
import fidimag.extensions.clib as clib
6+
import fidimag.extensions.a_clib as clib
77
import fidimag.extensions.cvode as cvode
88
from fidimag.common.vtk import VTK
99
import fidimag.common.constant as const

fidimag/atomistic/demag_full.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import fidimag.extensions.clib as clib
1+
import fidimag.extensions.a_clib as clib
22
import numpy as np
33
from .energy import Energy
44

fidimag/atomistic/dmi.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import fidimag.extensions.clib as clib
1+
import fidimag.extensions.a_clib as clib
22
from .energy import Energy
33
import numpy as np
44

fidimag/atomistic/exchange.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import fidimag.extensions.clib as clib
1+
import fidimag.extensions.a_clib as clib
22
import numpy as np
33
from .energy import Energy
44

fidimag/atomistic/llg.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from __future__ import print_function
33

44
# Use the common C library for the LLG equation in the atomistic case
5-
import fidimag.extensions.common_clib as clib
5+
import fidimag.extensions.c_clib as clib
66

77
from .atomistic_driver import AtomisticDriver
88

fidimag/atomistic/llg_stt.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from __future__ import division
2-
3-
import fidimag.extensions.common_clib as clib
2+
import fidimag.extensions.c_clib as clib
43
import numpy as np
54

65
from .atomistic_driver import AtomisticDriver

0 commit comments

Comments
 (0)