Skip to content

Commit

Permalink
Merged QUESPACE-346-Hall-term-without-acc-psm
Browse files Browse the repository at this point in the history
On testpackage tests (Magnetosphere_small and Fluctuations_small) B and rho/rho_v diffs are negligible (numerics). E diffs are due to 2b7458a where the field solver wave speed calculations were made to include the sound speed instead of being the pure Alfvén speed.
There is also diffs at outflow boundaries due to the last cell layer being 0 for some fields at all faces instead of only one side of the box. This can have no effect.
  • Loading branch information
ykempf committed Jul 28, 2014
1 parent 443c079 commit cd411b3
Show file tree
Hide file tree
Showing 102 changed files with 5,504 additions and 3,299 deletions.
24 changes: 13 additions & 11 deletions MAKE/Makefile.home
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,32 @@ CMP = mpic++
LNK = mpic++

FLAGS =
#CXXFLAGS = -I $(HOME)/include -L $(HOME)/lib -g -funroll-loops -std=c++0x -fopenmp -W -Wall -pedantic -Wno-unused -fabi-version=0 -mavx
CXXFLAGS = -I $(HOME)/include -L $(HOME)/lib -O3 -funroll-loops -std=c++0x -fopenmp -W -Wall -pedantic -Wno-unused -fabi-version=0 -mavx
CXXFLAGS = -I$(HOME)/include -I/usr/include -L$(HOME)/lib -L/usr/lib -O3 -funroll-loops -std=c++11 -W -Wall -pedantic -Wno-unused -Wno-unused-parameter -Wno-missing-braces -fopenmp
#CXXFLAGS = -I$(HOME)/include -L$(HOME)/lib -O0 -funroll-loops -std=c++11 -W -Wall -pedantic -Wno-unused -Wno-unused-parameter -Wno-missing-braces -g -fopenmp
MATHFLAGS = -ffast-math
LDFLAGS = -L $(HOME)/lib
LIB_MPI = -lgomp
LIB_MPI = -lgomp
# LIB_MPI =

LIBRARY_PREFIX = $HOME
LIBRARY_PREFIX_B = $HOME

INC_BOOST =
LIB_BOOST = -lboost_program_options
INC_BOOST = -I${HOME}/include
LIB_BOOST = -L${HOME}/lib -lboost_program_options

INC_ZOLTAN =
LIB_ZOLTAN = -lzoltan
LIB_ZOLTAN = -L${HOME}/lib -lzoltan

INC_VLSV =
LIB_VLSV = -lvlsv

INC_SILO =
LIB_SILO = -lsilo
INC_SILO = -I${HOME}/include
LIB_SILO = -L${HOME}/lib -lsilo

INC_DCCRG =
INC_DCCRG = -I${HOME}/include

LIB_PROFILE = -lphiprof
INC_PROFILE =
LIB_PROFILE = -L${HOME}/phiprof/lib -lphiprof
INC_PROFILE = -I${HOME}/phiprof/include
INC_TOPO =

INC_EIGEN = -I/home/kempf/Codes/eigen-eigen-2249f9c22fe8
36 changes: 26 additions & 10 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#set default architecture, can be overridden from the compile line
ARCH = $(VLASIATOR_ARCH)
ARCH = ${VLASIATOR_ARCH}
include MAKE/Makefile.${ARCH}

#set FP precision to SP (single) or DP (double)
FP_PRECISION = DP

#Set floating point precision for distribution function to SPF (single) or DPF (double)
DISTRIBUTION_FP_PRECISION = SPF
DISTRIBUTION_FP_PRECISION = DPF

#set a default archive utility, can also be set in Makefile.arch
AR ?= ar
Expand All @@ -29,6 +29,7 @@ CXXFLAGS += -DPROFILE

#Add -DNDEBUG to turn debugging off. If debugging is enabled performance will degrade significantly
CXXFLAGS += -DNDEBUG
# CXXFLAGS += -DDEBUG_SOLVERS

#Set order of semilag solver in velocity space acceleration
# ACC_SEMILAG_PCONSTM 1st order
Expand All @@ -52,6 +53,9 @@ CXXFLAGS += -DUSE_AGNER_VECTORCLASS
# CXXFLAGS += -DCATCH_FPE


#Add -DFS_1ST_ORDER_SPACE or -DFS_1ST_ORDER_TIME to make the field solver first-order in space or time
# CXXFLAGS += -DFS_1ST_ORDER_SPACE
# CXXFLAGS += -DFS_1ST_ORDER_TIME

#//////////////////////////////////////////////////////
# The rest of this file users shouldn't need to change
Expand Down Expand Up @@ -115,6 +119,7 @@ DEPS_PROJECTS = projects/project.h projects/project.cpp \
projects/Firehose/Firehose.h projects/Firehose/Firehose.cpp \
projects/Flowthrough/Flowthrough.h projects/Flowthrough/Flowthrough.cpp \
projects/Fluctuations/Fluctuations.h projects/Fluctuations/Fluctuations.cpp \
projects/Harris/Harris.h projects/Harris/Harris.cpp \
projects/KHB/KHB.h projects/KHB/KHB.cpp \
projects/Larmor/Larmor.h projects/Larmor/Larmor.cpp \
projects/Magnetosphere/Magnetosphere.h projects/Magnetosphere/Magnetosphere.cpp\
Expand All @@ -124,6 +129,7 @@ DEPS_PROJECTS = projects/project.h projects/project.cpp \
projects/Shock/Shock.h projects/Shock/Shock.cpp \
projects/Template/Template.h projects/Template/Template.cpp \
projects/test_fp/test_fp.h projects/test_fp/test_fp.cpp \
projects/testHall/testHall.h projects/testHall/testHall.cpp \
projects/test_trans/test_trans.h projects/test_trans/test_trans.cpp \
projects/verificationLarmor/verificationLarmor.h projects/verificationLarmor/verificationLarmor.cpp \
projects/Shocktest/Shocktest.h projects/Shocktest/Shocktest.cpp
Expand All @@ -134,12 +140,10 @@ OBJS = version.o memoryallocation.o backgroundfield.o quadr.o dipole.o linedipo
donotcompute.o ionosphere.o outflow.o setbyuser.o setmaxwellian.o \
sysboundary.o sysboundarycondition.o \
project.o projectTriAxisSearch.o \
Alfven.o Diffusion.o Dispersion.o Firehose.o Flowthrough.o Fluctuations.o KHB.o Larmor.o Magnetosphere.o MultiPeak.o VelocityBox.o Riemann1.o Shock.o Template.o test_fp.o test_trans.o verificationLarmor.o Shocktest.o \
Alfven.o Diffusion.o Dispersion.o Firehose.o Flowthrough.o Fluctuations.o Harris.o KHB.o Larmor.o Magnetosphere.o MultiPeak.o VelocityBox.o Riemann1.o Shock.o Template.o test_fp.o testHall.o test_trans.o verificationLarmor.o Shocktest.o \
grid.o ioread.o iowrite.o vlasiator.o logger.o muxml.o \
common.o parameters.o readparameters.o spatial_cell.o \
vlscommon.o vlsvreader2.o vlasovmover.o $(FIELDSOLVER).o


vlscommon.o vlsvreader2.o vlasovmover.o $(FIELDSOLVER).o fs_common.o fs_limiters.o

help:
@echo ''
Expand Down Expand Up @@ -197,7 +201,7 @@ datareductionoperator.o: ${DEPS_COMMON} parameters.h spatial_cell.hpp datareduc
donotcompute.o: ${DEPS_COMMON} sysboundary/donotcompute.h sysboundary/donotcompute.cpp
${CMP} ${CXXFLAGS} ${FLAGS} -c sysboundary/donotcompute.cpp ${INC_DCCRG} ${INC_ZOLTAN} ${INC_BOOST} ${INC_EIGEN}

ionosphere.o: ${DEPS_COMMON} sysboundary/ionosphere.h sysboundary/ionosphere.cpp backgroundfield/backgroundfield.cpp backgroundfield/backgroundfield.h projects/project.h projects/project.cpp
ionosphere.o: ${DEPS_COMMON} sysboundary/ionosphere.h sysboundary/ionosphere.cpp backgroundfield/backgroundfield.cpp backgroundfield/backgroundfield.h projects/project.h projects/project.cpp fieldsolver/fs_limiters.h
${CMP} ${CXXFLAGS} ${FLAGS} -c sysboundary/ionosphere.cpp ${INC_DCCRG} ${INC_ZOLTAN} ${INC_BOOST} ${INC_EIGEN}

outflow.o: ${DEPS_COMMON} sysboundary/outflow.h sysboundary/outflow.cpp projects/project.h projects/project.cpp
Expand Down Expand Up @@ -233,6 +237,9 @@ Flowthrough.o: ${DEPS_COMMON} projects/Flowthrough/Flowthrough.h projects/Flowth
Fluctuations.o: ${DEPS_COMMON} projects/Fluctuations/Fluctuations.h projects/Fluctuations/Fluctuations.cpp
${CMP} ${CXXFLAGS} ${FLAGS} -c projects/Fluctuations/Fluctuations.cpp ${INC_DCCRG} ${INC_ZOLTAN} ${INC_BOOST} ${INC_EIGEN}

Harris.o: ${DEPS_COMMON} projects/Harris/Harris.h projects/Harris/Harris.cpp
${CMP} ${CXXFLAGS} ${FLAGS} -c projects/Harris/Harris.cpp ${INC_DCCRG} ${INC_ZOLTAN} ${INC_BOOST} ${INC_EIGEN}

KHB.o: ${DEPS_COMMON} projects/KHB/KHB.h projects/KHB/KHB.cpp
${CMP} ${CXXFLAGS} ${FLAGS} -c projects/KHB/KHB.cpp ${INC_DCCRG} ${INC_ZOLTAN} ${INC_BOOST} ${INC_EIGEN}

Expand Down Expand Up @@ -260,6 +267,9 @@ Template.o: ${DEPS_COMMON} projects/Template/Template.h projects/Template/Templa
test_fp.o: ${DEPS_COMMON} projects/test_fp/test_fp.h projects/test_fp/test_fp.cpp
${CMP} ${CXXFLAGS} ${FLAGS} -c projects/test_fp/test_fp.cpp ${INC_DCCRG} ${INC_ZOLTAN} ${INC_BOOST} ${INC_EIGEN}

testHall.o: ${DEPS_COMMON} projects/testHall/testHall.h projects/testHall/testHall.cpp
${CMP} ${CXXFLAGS} ${FLAGS} -c projects/testHall/testHall.cpp ${INC_DCCRG} ${INC_ZOLTAN} ${INC_BOOST} ${INC_EIGEN}

test_trans.o: ${DEPS_COMMON} projects/test_trans/test_trans.h projects/test_trans/test_trans.cpp
${CMP} ${CXXFLAGS} ${FLAGS} -c projects/test_trans/test_trans.cpp ${INC_DCCRG} ${INC_ZOLTAN} ${INC_BOOST} ${INC_EIGEN}

Expand All @@ -281,10 +291,16 @@ spatial_cell.o: spatial_cell.cpp spatial_cell.hpp
vlasovmover.o: spatial_cell.hpp vlasovsolver/vlasovmover.cpp vlasovsolver/cpu_acc_map.hpp vlasovsolver/cpu_acc_intersections.hpp vlasovsolver/cpu_acc_intersections.hpp vlasovsolver/cpu_acc_semilag.hpp vlasovsolver/cpu_acc_transform.hpp
${CMP} ${CXXFLAGS} ${FLAG_OPENMP} ${MATHFLAGS} ${FLAGS} -DMOVER_VLASOV_ORDER=2 -c vlasovsolver/vlasovmover.cpp -I$(CURDIR) ${INC_BOOST} ${INC_EIGEN} ${INC_DCCRG} ${INC_ZOLTAN} ${INC_PROFILE} ${INC_VECTORCLASS} ${INC_EIGEN}

londrillo_delzanna.o: spatial_cell.hpp parameters.h common.h fieldsolver/londrillo_delzanna.cpp
${CMP} ${CXXFLAGS} ${FLAGS} -c fieldsolver/londrillo_delzanna.cpp -I$(CURDIR) ${INC_BOOST} ${INC_EIGEN} ${INC_DCCRG} ${INC_PROFILE} ${INC_ZOLTAN}
fs_common.o: fieldsolver/fs_common.h fieldsolver/fs_common.cpp
${CMP} ${CXXFLAGS} ${FLAGS} -c fieldsolver/fs_common.cpp -I$(CURDIR) ${INC_BOOST} ${INC_EIGEN} ${INC_DCCRG} ${INC_PROFILE} ${INC_ZOLTAN}

fs_limiters.o: fieldsolver/fs_limiters.h fieldsolver/fs_limiters.cpp
${CMP} ${CXXFLAGS} ${FLAGS} -c fieldsolver/fs_limiters.cpp -I$(CURDIR) ${INC_BOOST} ${INC_EIGEN} ${INC_DCCRG} ${INC_PROFILE} ${INC_ZOLTAN}

londrillo_delzanna.o: spatial_cell.hpp parameters.h common.h fieldsolver/fs_common.h fieldsolver/fs_common.cpp fieldsolver/derivatives.hpp fieldsolver/ldz_electric_field.hpp fieldsolver/ldz_hall.hpp fieldsolver/ldz_magnetic_field.hpp fieldsolver/ldz_main.cpp fieldsolver/ldz_volume.hpp fieldsolver/ldz_volume.hpp
${CMP} ${CXXFLAGS} ${FLAGS} -c fieldsolver/ldz_main.cpp -o londrillo_delzanna.o -I$(CURDIR) ${INC_BOOST} ${INC_EIGEN} ${INC_DCCRG} ${INC_PROFILE} ${INC_ZOLTAN}

vlasiator.o: ${DEPS_COMMON} readparameters.h parameters.h ${DEPS_PROJECTS} grid.h spatial_cell.hpp vlasiator.cpp
vlasiator.o: ${DEPS_COMMON} readparameters.h parameters.h ${DEPS_PROJECTS} grid.h vlasovmover.h spatial_cell.hpp vlasiator.cpp
${CMP} ${CXXFLAGS} ${FLAG_OPENMP} ${FLAGS} -c vlasiator.cpp ${INC_MPI} ${INC_DCCRG} ${INC_BOOST} ${INC_EIGEN} ${INC_ZOLTAN} ${INC_PROFILE}

grid.o: ${DEPS_COMMON} parameters.h ${DEPS_PROJECTS} spatial_cell.hpp grid.cpp grid.h sysboundary/sysboundary.h
Expand Down
Loading

0 comments on commit cd411b3

Please sign in to comment.