Skip to content
This repository was archived by the owner on Aug 28, 2024. It is now read-only.

Commit

Permalink
Merge branch 'master' into IO
Browse files Browse the repository at this point in the history
  • Loading branch information
daminton committed Sep 23, 2021
2 parents 1f7fea4 + 2b19ee0 commit e198daa
Show file tree
Hide file tree
Showing 33 changed files with 1,327 additions and 483 deletions.
105 changes: 52 additions & 53 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
# library, Swifter drivers and tools
# (2) mod : builds modules
# (3) lib : builds entire Swifter library
# (4) libdir : compiles local directory source and adds the
# (4) fastdir : compiles local directory source and adds the
# resulting objects to the Swifter library
# (5) drivers : builds Swifter drivers
# (6) tools : builds Swifter tools
Expand All @@ -36,7 +36,7 @@
# Terminal : status messages
# File : none
#
# Invocation : make [all|mod|lib|libdir|drivers|tools|bin|clean]
# Invocation : make [all|mod|lib|fastdir|drivers|tools|bin|clean]
#
# Notes : The use of the above arguments as phony targets inside the
# makefile precludes their use as base names of Swifter drivers
Expand Down Expand Up @@ -65,7 +65,7 @@ LMKL = -L$(MKLROOT)/lib/intel64 -qopt-matmul

MODULES = $(SWIFTEST_MODULES) $(USER_MODULES)

.PHONY : all mod lib libdir fast drivers bin clean force
.PHONY : all mod fast strict drivers bin clean force

% : %.f90 force
$(FORTRAN) $(FFLAGS) -I$(SWIFTEST_HOME)/include -I$(NETCDF_FORTRAN_HOME)/include $(IMKL) $< -o $@ \
Expand All @@ -76,8 +76,8 @@ MODULES = $(SWIFTEST_MODULES) $(USER_MODULES)
all:
cd $(SWIFTEST_HOME); \
make mod; \
make lib; \
make fast; \
make strict; \
make drivers; \

mod:
Expand All @@ -87,137 +87,136 @@ mod:
$(INSTALL_DATA) *.mod *.smod $(SWIFTEST_HOME)/include; \
rm -f *.o *.mod *.smod

lib:
fast:
cd $(SWIFTEST_HOME)/src/discard; \
rm -f Makefile.Defines Makefile; \
ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \
ln -s $(SWIFTEST_HOME)/Makefile .; \
make libdir
cd $(SWIFTEST_HOME)/src/gr; \
make fastdir
cd $(SWIFTEST_HOME)/src/drift; \
rm -f Makefile.Defines Makefile; \
ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \
ln -s $(SWIFTEST_HOME)/Makefile .; \
make libdir
cd $(SWIFTEST_HOME)/src/io; \
make fastdir
cd $(SWIFTEST_HOME)/src/fraggle; \
rm -f Makefile.Defines Makefile; \
ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \
ln -s $(SWIFTEST_HOME)/Makefile .; \
make libdir
cd $(SWIFTEST_HOME)/src/kick; \
make fastdir
cd $(SWIFTEST_HOME)/src/gr; \
rm -f Makefile.Defines Makefile; \
ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \
ln -s $(SWIFTEST_HOME)/Makefile .; \
make libdir
cd $(SWIFTEST_HOME)/src/netcdf; \
make fastdir
cd $(SWIFTEST_HOME)/src/helio; \
rm -f Makefile.Defines Makefile; \
ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \
ln -s $(SWIFTEST_HOME)/Makefile .; \
make libdir
cd $(SWIFTEST_HOME)/src/obl; \
make fastdir
cd $(SWIFTEST_HOME)/src/io; \
rm -f Makefile.Defines Makefile; \
ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \
ln -s $(SWIFTEST_HOME)/Makefile .; \
make libdir
cd $(SWIFTEST_HOME)/src/operators; \
make fastdir
cd $(SWIFTEST_HOME)/src/netcdf; \
rm -f Makefile.Defines Makefile; \
ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \
ln -s $(SWIFTEST_HOME)/Makefile .; \
make libdir
cd $(SWIFTEST_HOME)/src/setup; \
make fastdir
cd $(SWIFTEST_HOME)/src/obl; \
rm -f Makefile.Defines Makefile; \
ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \
ln -s $(SWIFTEST_HOME)/Makefile .; \
make libdir
cd $(SWIFTEST_HOME)/src/tides; \
make fastdir
cd $(SWIFTEST_HOME)/src/operators; \
rm -f Makefile.Defines Makefile; \
ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \
ln -s $(SWIFTEST_HOME)/Makefile .; \
make libdir
cd $(SWIFTEST_HOME)/src/whm; \
make fastdir
cd $(SWIFTEST_HOME)/src/orbel; \
rm -f Makefile.Defines Makefile; \
ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \
ln -s $(SWIFTEST_HOME)/Makefile .; \
make libdir
make fastdir
cd $(SWIFTEST_HOME)/src/rmvs; \
rm -f Makefile.Defines Makefile; \
ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \
ln -s $(SWIFTEST_HOME)/Makefile .; \
make libdir
cd $(SWIFTEST_HOME)/src/helio; \
make fastdir
cd $(SWIFTEST_HOME)/src/setup; \
rm -f Makefile.Defines Makefile; \
ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \
ln -s $(SWIFTEST_HOME)/Makefile .; \
make libdir
make fastdir
cd $(SWIFTEST_HOME)/src/symba; \
rm -f Makefile.Defines Makefile; \
ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \
ln -s $(SWIFTEST_HOME)/Makefile .; \
make libdir
cd $(SWIFTEST_HOME)/src/user; \
make fastdir
cd $(SWIFTEST_HOME)/src/tides; \
rm -f Makefile.Defines Makefile; \
ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \
ln -s $(SWIFTEST_HOME)/Makefile .; \
make libdir
cd $(SWIFTEST_HOME)/src/walltime; \
make fastdir
cd $(SWIFTEST_HOME)/src/user; \
rm -f Makefile.Defines Makefile; \
ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \
ln -s $(SWIFTEST_HOME)/Makefile .; \
make libdir

fast:
cd $(SWIFTEST_HOME)/src/fraggle; \
make fastdir
cd $(SWIFTEST_HOME)/src/util; \
rm -f Makefile.Defines Makefile; \
ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \
ln -s $(SWIFTEST_HOME)/Makefile .; \
make fastdir

cd $(SWIFTEST_HOME)/src/util; \
make fastdir
cd $(SWIFTEST_HOME)/src/walltime; \
rm -f Makefile.Defines Makefile; \
ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \
ln -s $(SWIFTEST_HOME)/Makefile .; \
make fastdir

cd $(SWIFTEST_HOME)/src/orbel; \
cd $(SWIFTEST_HOME)/src/whm; \
rm -f Makefile.Defines Makefile; \
ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \
ln -s $(SWIFTEST_HOME)/Makefile .; \
make fastdir

cd $(SWIFTEST_HOME)/src/drift; \
strict:
cd $(SWIFTEST_HOME)/src/kick; \
rm -f Makefile.Defines Makefile; \
ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \
ln -s $(SWIFTEST_HOME)/Makefile .; \
make fastdir

make strictdir
cd $(SWIFTEST_HOME)/src/helio; \
$(FORTRAN) $(FFASTFLAGS) -I$(SWIFTEST_HOME)/include -I$(NETCDF_FORTRAN_HOME)/include $(IMKL) -c helio_drift.f90; \
$(FORTRAN) $(FSTRICTFLAGS) -I$(SWIFTEST_HOME)/include -I$(NETCDF_FORTRAN_HOME)/include $(IMKL) -c helio_kick.f90; \
$(AR) rv $(SWIFTEST_HOME)/lib/libswiftest.a *.o *.smod; \
$(INSTALL_DATA) *.smod $(SWIFTEST_HOME)/include; \
rm -f *.o *.smod

cd $(SWIFTEST_HOME)/src/symba; \
$(FORTRAN) $(FSTRICTFLAGS) -I$(SWIFTEST_HOME)/include -I$(NETCDF_FORTRAN_HOME)/include $(IMKL) -c symba_kick.f90; \
$(AR) rv $(SWIFTEST_HOME)/lib/libswiftest.a *.o *.smod; \
$(INSTALL_DATA) *.smod $(SWIFTEST_HOME)/include; \
rm -f *.o *.smod
cd $(SWIFTEST_HOME)/src/rmvs; \
$(FORTRAN) $(FFASTFLAGS) -I$(SWIFTEST_HOME)/include -I$(NETCDF_FORTRAN_HOME)/include $(IMKL) -c rmvs_encounter_check.f90; \
$(FORTRAN) $(FSTRICTFLAGS) -I$(SWIFTEST_HOME)/include -I$(NETCDF_FORTRAN_HOME)/include $(IMKL) -c rmvs_kick.f90; \
$(AR) rv $(SWIFTEST_HOME)/lib/libswiftest.a *.o *.smod; \
$(INSTALL_DATA) *.smod $(SWIFTEST_HOME)/include; \
rm -f *.o *.smod

cd $(SWIFTEST_HOME)/src/symba; \
$(FORTRAN) $(FFASTFLAGS) -I$(SWIFTEST_HOME)/include -I$(NETCDF_FORTRAN_HOME)/include $(IMKL) -c symba_encounter_check.f90; \
cd $(SWIFTEST_HOME)/src/whm; \
$(FORTRAN) $(FSTRICTFLAGS) -I$(SWIFTEST_HOME)/include -I$(NETCDF_FORTRAN_HOME)/include $(IMKL) -c whm_kick.f90; \
$(AR) rv $(SWIFTEST_HOME)/lib/libswiftest.a *.o *.smod; \
$(INSTALL_DATA) *.smod $(SWIFTEST_HOME)/include; \
rm -f *.o *.smod

libdir:
fastdir:
$(FORTRAN) $(FFLAGS) -I$(SWIFTEST_HOME)/include -I$(NETCDF_FORTRAN_HOME)/include $(IMKL) -c *.f90; \
$(AR) rv $(SWIFTEST_HOME)/lib/libswiftest.a *.o *.smod; \
$(INSTALL_DATA) *.smod $(SWIFTEST_HOME)/include; \
rm -f *.o *.smod

fastdir:
$(FORTRAN) $(FFASTFLAGS) -I$(SWIFTEST_HOME)/include -I$(NETCDF_FORTRAN_HOME)/include $(IMKL) -c *.f90; \
strictdir:
$(FORTRAN) $(FSTRICTFLAGS) -I$(SWIFTEST_HOME)/include -I$(NETCDF_FORTRAN_HOME)/include $(IMKL) -c *.f90; \
$(AR) rv $(SWIFTEST_HOME)/lib/libswiftest.a *.o *.smod; \
$(INSTALL_DATA) *.smod $(SWIFTEST_HOME)/include; \
rm -f *.o *.smod
rm -f *.o *.smo

drivers:
cd $(SWIFTEST_HOME)/src/main; \
Expand Down
8 changes: 4 additions & 4 deletions Makefile.Defines
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,12 @@ VTUNE_FLAGS = -g -O2 -qopt-report=5 -simd -shared-intel -qopenmp -debug inline-d
#Be sure to set the environment variable KMP_FORKJOIN_FRAMES=1 for OpenMP debuging in vtune

IDEBUG = -O0 -init=snan,arrays -nogen-interfaces -no-pie -no-ftz -fpe-all=0 -g -traceback -mp1 -fp-model strict -fpe0 -debug all -align all -pad -ip -prec-div -prec-sqrt -assume protect-parens -CB -no-wrap-margin
STRICTREAL = -fp-model strict -prec-div -prec-sqrt -assume protect-parens
STRICTREAL = -fp-model=precise -prec-div -prec-sqrt -assume protect-parens
SIMDVEC = -simd -xhost -align all -assume contiguous_assumed_shape -vecabi=cmdtarget -fp-model no-except -fma
PAR = -qopenmp -parallel
HEAPARR = -heap-arrays 4194304
OPTREPORT = -qopt-report=5
IPRODUCTION = -no-wrap-margin -O3 -ipo -qopt-prefetch=0 -sox $(PAR) $(SIMDVEC) #$(HEAPARR)
IPRODUCTION = -no-wrap-margin -O3 -qopt-prefetch=0 -sox $(PAR) $(SIMDVEC) #$(HEAPARR)

#gfortran flags
GDEBUG = -g -Og -fbacktrace -fbounds-check -ffree-line-length-none
Expand All @@ -69,8 +69,8 @@ GPRODUCTION = -O2 -ffree-line-length-none $(GPAR)

#FFLAGS = $(IDEBUG) #$(SIMDVEC) $(PAR)
#FFASTFLAGS = $(IDEBUG) #$(SIMDVEC) $(PAR)
FFLAGS = $(IPRODUCTION) $(STRICTREAL) #$(ADVIXE_FLAGS)
FFASTFLAGS = $(IPRODUCTION) -fp-model fast #$(ADVIXE_FLAGS)
FSTRICTFLAGS = $(IPRODUCTION) $(STRICTREAL) $(OPTREPORT) #$(ADVIXE_FLAGS)
FFLAGS = $(IPRODUCTION) -fp-model=fast $(OPTREPORT) #$(ADVIXE_FLAGS)
FORTRAN = ifort
AR = xiar

Expand Down
2 changes: 1 addition & 1 deletion examples/helio_swifter_comparison/cb.swiftest.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
0
Sun
39.476926408897626
0.004650467260962157
4.7535806948127355e-12
Expand Down
11 changes: 6 additions & 5 deletions examples/helio_swifter_comparison/init_cond.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
sim.param['CHK_EJECT'] = 1000.0
sim.param['ISTEP_OUT'] = 1
sim.param['ISTEP_DUMP'] = 1
sim.param['IN_FORM'] = "XV"
sim.param['OUT_FORM'] = "XV"
sim.param['OUT_STAT'] = "UNKNOWN"
sim.param['GR'] = 'NO'
Expand All @@ -32,10 +33,10 @@
"Saturn": 6,
"Uranus": 7,
"Neptune": 8,
"Ceres": 101,
"Pallas": 102,
"Juno": 103,
"Vesta": 104
"Ceres": 9,
"Pallas": 10,
"Juno": 11,
"Vesta": 12
}

for name, id in bodyid.items():
Expand All @@ -44,7 +45,7 @@
sim.param['PL_IN'] = "pl.swiftest.in"
sim.param['TP_IN'] = "tp.swiftest.in"
sim.param['CB_IN'] = "cb.swiftest.in"
sim.param['BIN_OUT'] = "bin.swiftest.dat"
sim.param['BIN_OUT'] = "bin.swiftest.nc"
sim.param['ENC_OUT'] = "enc.swiftest.dat"
sim.save("param.swiftest.in")
sim.param['PL_IN'] = "pl.swifter.in"
Expand Down
2 changes: 1 addition & 1 deletion examples/helio_swifter_comparison/param.swifter.in
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ IN_TYPE ASCII
PL_IN pl.swifter.in
TP_IN tp.swifter.in
BIN_OUT bin.swifter.dat
ENC_OUT enc.swifter.dat
CHK_QMIN 0.004650467260962157
CHK_RMIN 0.004650467260962157
CHK_RMAX 1000.0
CHK_EJECT 1000.0
CHK_QMIN_COORD HELIO
CHK_QMIN_RANGE 0.004650467260962157 1000.0
ENC_OUT enc.swifter.dat
EXTRA_FORCE NO
BIG_DISCARD NO
CHK_CLOSE YES
Expand Down
10 changes: 6 additions & 4 deletions examples/helio_swifter_comparison/param.swiftest.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,14 @@ TSTOP 1.0
DT 0.0006844626967830253
ISTEP_OUT 1
ISTEP_DUMP 1
OUT_FORM XV
OUT_TYPE REAL8
OUT_FORM XVEL
OUT_TYPE NETCDF_DOUBLE
OUT_STAT UNKNOWN
IN_TYPE ASCII
PL_IN pl.swiftest.in
TP_IN tp.swiftest.in
CB_IN cb.swiftest.in
BIN_OUT bin.swiftest.dat
ENC_OUT enc.swiftest.dat
BIN_OUT bin.swiftest.nc
CHK_QMIN 0.004650467260962157
CHK_RMIN 0.004650467260962157
CHK_RMAX 1000.0
Expand All @@ -22,7 +21,10 @@ CHK_QMIN_RANGE 0.004650467260962157 1000.0
MU2KG 1.988409870698051e+30
TU2S 31557600.0
DU2M 149597870700.0
IN_FORM XV
ENC_OUT enc.swiftest.dat
EXTRA_FORCE NO
DISCARD_OUT discard.out
BIG_DISCARD NO
CHK_CLOSE YES
RHILL_PRESENT YES
Expand Down
50 changes: 25 additions & 25 deletions examples/helio_swifter_comparison/pl.swifter.in
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
9
0 39.476926408897625196
0 39.476926408897626
0.0 0.0 0.0
0.0 0.0 0.0
1 6.5537098095653139645e-06 0.001475124456355905224
1 6.5537098095653139645e-06 0.0014751320469864830743
1.6306381826061645943e-05
-0.30949970210807342674 0.1619004125820537876 0.041620272188990829754
-6.8742992150644793847 -8.672423996611946485 -0.078109307586001638286
2 9.663313399581537916e-05 0.006759069616556246028
0.25597748680933402055 -0.33873157013416782535 -0.051160436706398457196
6.1515614442706225157 6.693373063190126291 -0.017305148628664950593
2 9.663313399581537916e-05 0.0067591015124708249373
4.0453784346544178454e-05
-0.5567137338251560985 -0.46074173273652380134 0.02580196630219121906
4.6580776303108450487 -5.726444072926637749 -0.3473859047161406309
3 0.000120026935827952453094 0.010044908171483009529
0.31726034651636542128 -0.654711054374790713 -0.027292938884777531716
6.598488376677801111 3.1963353072519729466 -0.33689924099817045804
3 0.000120026935827952453094 0.010044886970936247304
4.25875607065040958e-05
0.6978790186886838498 -0.73607603319120218366 3.261671020506711323e-05
4.4579240279134950613 4.300011122687349501 -0.00022055769049333364448
4 1.2739802010675941456e-05 0.0072466797341124641736
1.0035242101099290934 -0.0018228334577166870837 -3.6653532112110000198e-06
-0.09070203147464428398 6.2603556827487729817 -0.00030066016029169661568
4 1.2739802010675941456e-05 0.0072464547040638876134
2.265740805092889601e-05
-1.617661473167097963 0.38314370807747849534 0.04771055403546069218
-0.98751874613118001086 -4.5371239937302254657 -0.07086074102213555221
5 0.037692251088985676735 0.35527079166215922855
-1.6246010829214110327 -0.22657397469775839016 0.035102757644925722258
0.8960028670481912773 -4.6255927366612961593 -0.118919639419818187306
5 0.037692251088985676735 0.355270418186049151
0.00046732617030490929307
4.1527454588897487753 -2.8347492039446908763 -0.081136554176388195336
1.5225069137843642898 2.4087104911325327961 -0.044067446366273183833
6 0.011285899820091272997 0.43765832419088212185
4.3414830724724824407 -2.51086598242009007 -0.086704432177356224876
1.3483266539369778604 2.5183130150315082463 -0.04062579121197158367
6 0.011285899820091272997 0.43766612292716386504
0.00038925687730393611812
6.39471595410062843 -7.621162747287802297 -0.121992225877669294154
1.4493167787574136286 1.3075474785896286071 -0.08039429377859412155
7 0.0017236589478267730203 0.46960112247450473807
6.5829270711489096257 -7.4466885388333317053 -0.1325136240669045895
1.4148318095568700728 1.3475938908840546106 -0.079718098761849415056
7 0.0017236589478267730203 0.46974626380654876733
0.00016953449859497231466
14.793135356927480828 13.074218343364380601 -0.14311846037737518955
-0.9605086875596024784 1.0118431725941020164 0.016148779866732710198
8 0.0020336100526728302319 0.78136567314580814177
14.666242725889420129 13.206619035005820351 -0.14098973299186590147
-0.97063485833896719253 1.0031115306266739172 0.016248131244499269076
8 0.0020336100526728302319 0.7815278251043273693
0.000164587904124493665
29.568629894896030663 -4.5543028991960081697 -0.58771107137394917874
0.16867624969736024011 1.1427992197933557251 -0.027387722828706092838
29.590408344240941574 -4.4040527861079086236 -0.5913025789369640295
0.16275481312443448273 1.1438129826052378228 -0.027269849433711815306
Loading

0 comments on commit e198daa

Please sign in to comment.