| 1
| #--------- paris-ParisSimulator main Makefile --------------------------
|
|
Initial commit Stephane Zaleski <stephane.zaleski@upmc.fr> Wed Apr 25 22:09:43 UTC 2012 |
| |
| 3
| # Change the following line to force openmpi to use another compiler
|
|
| 4
| OMPI_FC = gfortran-mp-8
|
|
| |
| 6
7
| FC = mpifort
CC = mpicxx # could be mpic++
|
|
| |
Initial commit Stephane Zaleski <stephane.zaleski@upmc.fr> Wed Apr 25 22:09:43 UTC 2012 |
| |
| |
| 12
| FLAGS = -O3 -cpp -fimplicit-none -ffpe-summary=invalid,zero,overflow # -fbounds-check # -DOLD_BDRY_COND -fimplicit-none -fbounds-check # -g
|
|
| 13
| #FLAGS = -O0 -cpp -fimplicit-none -fimplicit-none -fbounds-check -g
|
|
| 14
| FLAGSDEBUG = -cpp -g -gstabs -O2 -fimplicit-none # -ffpe-summary=invalid,zero,overflow
|
|
| 15
| HARDFLAGS = -fbounds-check -ffpe-trap=invalid,zero,overflow -Wall # -ffpe-trap=invalid,zero,overflow,underflow,precision,denormal
|
|
| |
| 17
| CFLAGS = -O -Wall # -g -gstabs
|
|
| |
| 19
20
|
# select option for hypre
|
|
| |
| 22
| # HYPRE_DIR = /share/apps/hypre
|
|
| |
| 24
| SILO_DIR = $(HOME)/cfd/libs/silo-4.10.2
|
|
| |
| 26
| HYPRE_DIR = $(HOME)/cfd/libs/hypre-2.10.0b/src/lib
|
|
| 27
| HYPRE_LIBS = -L$(HYPRE_DIR) -lHYPRE
|
|
| 28
| INC_SILO = -I$(SILO_DIR)/include
|
|
| 29
30
31
| #DIR_MPI = /usr/local/include
#INC_MPI = -I$(DIR_MPI)
INC = $(INC_SILO) # $(INC_MPI)
|
|
| |
| 35
| FLAGSA = -DHAVE_VOFI $(FLAGS)
|
|
| 36
37
38
| VOFI_DIR = $(HOME)/lib
VOFI_LIBS = -L$(VOFI_DIR) -lvofi
else
|
|
| |
| |
| |
| |
| 43
| FLAGSB = -DPHASE_CHANGE $(FLAGSA)
|
|
| |
| |
| |
| |
| 49
50
| FLAGSC = -DHAVE_SILO $(FLAGSB) $(INC)
SILO_LIB = -L$(SILO_DIR)/lib -lsilo -lm -lstdc++
|
|
| |
| |
| 53
54
55
| endif
ifdef HAVE_CUDA
|
|
| 56
| FLAGSD = -DHAVE_CUDA $(FLAGSC) $(INC) -L/usr/local/cuda/lib64 -I/usr/local/cuda/include -lcudart -lcuda -lstdc++
|
|
| 57
58
59
| CFLAGS = -O -Wall # -g -gstabs
CUDAFLAGS = -ccbin $(CC) -L/usr/local/cuda/lib -I/usr/local/cuda/include -lcudart -lcuda -lstdc++
CUDAOBJ = module_CUDA.o poissonCUDA.o cudaFun.o
|
|
| 60
| INSTLIBS = -Xlinker -L/usr/local/cuda/lib64 -I/usr/local/cuda/include -lcudart -lcuda -lstdc++
|
|
| |
| |
| |
| |
| 66
| LIBS = $(HYPRE_LIBS) $(VOFI_LIBS) $(SILO_LIB)
|
|
| 67
68
69
|
#------------------------No changes needed beyond this line----------------------------------------------
|
|
| 70
| OBJ = paris.o solids.o modules.o vofmodules.o front.o surface_tension.o lppmodules.o st_testing.o newsolver.o MGsolver.o $(CUDAOBJ) freesurface.o boiling.o vofnonmodule.o vof_functions.o rudman_modules.o rudman_procedures.o rudman_advection.o rudman_bc.o
|
|
| |
| 72
| SRC = $(wildcard *.f90)
|
|
Initial commit Stephane Zaleski <stephane.zaleski@upmc.fr> Wed Apr 25 22:09:43 UTC 2012 |
| |
| |
| 75
76
| @echo compiling with FLAGS = $(FFLAGS) linking with FOPTS = $(FOPTS)
@echo compiler is FC = $(FC), mpi override is OMPI_FC = $(OMPI_FC)
|
|
| 77
| $(FC) -o paris $(FOPTS) $(OBJ) $(LIBS) $(INSTLIBS)
|
|
| 78
| @if [ ! -d $(BINDIR) ] ; then echo "directory bin does not exist creating it" ; mkdir $(BINDIR) ; fi
|
|
added CFC test Stephane Zaleski <stephane.zaleski@upmc.fr> Thu May 23 10:37:39 UTC 2013 |
| 79
| mv paris $(BINDIR)/paris
|
|
| 80
| @find . -name "*.sh" -exec chmod +x {} \;
|
|
| |
| 82
| all: tags install pariscompare parisdeconv
|
|
| 83
| @echo making tags executable utility programs.
|
|
| |
Initial commit Stephane Zaleski <stephane.zaleski@upmc.fr> Wed Apr 25 22:09:43 UTC 2012 |
| |
| 86
| @echo Cleaning all output files, .o files, tmp files, report.
|
|
| 87
| @rm -fR *.o *.mod paris stats *~ track out* errftc tmp* *.tmp fort.* *.visit core.* *stats*
|
|
| 88
| @cd Tests; sh ./clean.sh; cd ..
|
|
| 89
| @cd Documentation; sh ./cleandoc.sh; cd ..
|
|
| 90
| @find . -type l -exec /bin/rm {} \;
|
|
| |
| |
| 93
| @echo Cleaning xml files, visit session files.
|
|
| 94
95
| @rm -fR session* *.xml TAGS tags input
|
|
| 96
| test: install pariscompare parisdeconv pariscompare3D
|
|
| 97
| @echo "The test suite takes less than 3 minutes on a 4-core intel i7 MacBook Pro"
|
|
| 98
| @cd Tests; chmod +x ./runtests.sh; ./runtests.sh
|
|
| |
| 100
101
| hardtest: pariscompare parisdeconv pariscompare3D
make clean install FLAGS:="$(FLAGSDEBUG) $(HARDFLAGS)"
|
|
| 102
| @echo "The test suite takes less than 4 minutes on an 4-core MacBook Pro mid-2015"
|
|
| 103
104
| @cd Tests; chmod +x ./runtests.sh; ./runtests.sh
|
|
| 105
| longtest: install pariscompare parisdeconv
|
|
| 106
| @echo "This test takes 22 minutes on an 4-core MacBook Pro mid-2015"
|
|
| 107
108
| @cd Tests; chmod +x ./runlongtests.sh; ./runlongtests.sh
|
|
| 109
| # single processor test
|
|
| |
| 111
| @cd Tests/Mini; chmod +x ./run.sh; ./run.sh
|
|
| |
| 113
114
| tags: $(SRC)
# @SZ Create a tags file named TAGS for use by emacs
|
|
| |
| 116
117
| # @SZ Create a tags file named tags for use by vi or textwrangler
# @SZ On MacOS tags and TAGS are identical !
|
|
| 118
| # @SZ ctags paris.f90
|
|
| |
| 120
| paris.o: paris.f90 solids.o modules.o vofmodules.o front.o surface_tension.o lppmodules.o st_testing.o newsolver.o MGsolver.o $(CUDAOBJ) freesurface.o boiling.o rudman_modules.o
|
|
| 121
| $(FC) -c $(FFLAGS) $<
|
|
| |
| 123
| vofmodules.o: vofmodules.f90 modules.o solids.o rudman_modules.o
|
|
| 124
| $(FC) -c $(FFLAGS) $<
|
|
| |
| 126
127
128
| vofnonmodule.o: vofnonmodule.f90 vofmodules.o
$(FC) -c $(FFLAGS) $<
|
|
| 129
| lppmodules.o: lppmodules.f90 vofmodules.o modules.o
|
|
| 130
| $(FC) -c $(FFLAGS) $<
|
|
| |
| 132
| surface_tension.o: surface_tension.f90 vofmodules.o modules.o newsolver.o MGsolver.o $(CUDAOBJ)
|
|
| 133
| $(FC) -c $(FFLAGS) $<
|
|
| |
| 135
| st_testing.o: st_testing.f90 vofmodules.o modules.o surface_tension.o boiling.o
|
|
| 136
| $(FC) -c $(FFLAGS) $<
|
|
| |
| 138
| solids.o: solids.f90 modules.o
|
|
| 139
| $(FC) -c $(FFLAGS) $<
|
|
| |
| 141
| front.o: front.f90 modules.o
|
|
| 142
| $(FC) -c $(FFLAGS) $<
|
|
| |
| 144
| newsolver.o: newsolver.f90 $(CUDAOBJ) modules.o MGsolver.o
|
|
| 145
146
147
| $(FC) -c $(FFLAGS) $<
MGsolver.o: MGsolver.f90 modules.o
|
|
| 148
| $(FC) -c $(FFLAGS) $<
|
|
| |
| 150
| freesurface.o: freesurface.f90 boiling.o lppmodules.o modules.o
|
|
| 151
| $(FC) -c $(FFLAGS) $<
|
|
| |
| 153
| boiling.o: boiling.f90 modules.o vofmodules.o
|
|
| |
| 156
| averages.o: averages.f90 modules.o solids.o vofmodules.o
|
|
| 157
| $(FC) -c $(FFLAGS) $<
|
|
| |
| 159
160
161
| rudman_modules.o: rudman_modules.f90 modules.o
$(FC) -c $(FFLAGS) $<
|
|
| 162
163
164
| rudman_bc.o: rudman_bc.f90 modules.o vofmodules.o
$(FC) -c $(FFLAGS) $<
|
|
| 165
| rudman_advection.o: rudman_advection.f90 modules.o rudman_modules.o
|
|
| |
| 168
| rudman_procedures.o: rudman_procedures.f90 rudman_modules.o modules.o vofmodules.o
|
|
| |
| |
| 172
| $(FC) -c $(FFLAGS) $<
|
|
| |
| 174
175
176
| ifdef HAVE_CUDA
poissonCUDA.o: poissonCUDA.cu cudaFun.o
$(CUDAC) -c $(CUDAFLAGS) $<
|
|
| |
| 178
179
| module_CUDA.o: module_CUDA.f90 modules.o poissonCUDA.o
$(FC) -c $(FFLAGS) $<
|
|
| |
| 181
182
183
| cudaFun.o: cudaFun.f90 modules.o
$(FC) -c -ffree-form $(FFLAGS) $<
endif
|
|
| |
| 185
| pariscompare: compare.o
|
|
| 186
187
| $(CC) -o pariscompare compare.o -lm
mv pariscompare $(BINDIR)
|
|
| |
| 189
190
|
pariscompare3D: compare_4cols.o
|
|
| 191
| $(CC) -o pariscompare3D compare_4cols.o -lm
|
|
| 192
193
| mv pariscompare3D $(BINDIR)
|
|
| 194
| parisdeconv: parisdeconv.o
|
|
| 195
196
| $(CC) -o parisdeconv parisdeconv.o -lm
mv parisdeconv $(BINDIR)
|
|
| |
| |
| 199
| $(CC) -c $(CFLAGS) $<
|
|