-
Notifications
You must be signed in to change notification settings - Fork 34
Problem with test_suite #45
Description
Dear doc Benduson,
I compiled BOUT and after running test_suite one test failed: initial_test. In particularly, function mixmode and mixmode_suite failed. How to solve this problem?
And what is the virsion of python requasted?
Machine: Ubuntu 14.04.5 on the VirtualBox.
make_config file:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
configuration file for BOUT++
September 2008: Converted to use autoconf. Can be manually edited
for the (very) rare occasions when autoconf fails
extra compilation flags:
-DCHECK Enables a host of additional checks on each operation
such as uninitialised data. Helps when debugging
-DTRACK Keeps track of variable names.
Enables more useful error messages
for SSE2: -msse2 -mfpmath=sse
This must also specify one or more file formats
-DPDBF PDB format (need to include pdb_format.cxx)
-DNCDF NetCDF format (nc_format.cxx)
PETSc config variables need to be first, else they may clobber other
options (e.g. CXX, CXXFLAGS)
Created this variable so that a user won't overwrite the CXXFLAGS variable
on the command line, just add to this one
BOUT_FLAGS = $(CXXFLAGS) -g -O2 -O -DCHECK=2 -DSIGHANDLE -DBACKTRACE -DNCDF -DBOUT_HAS_PVODE -std=c++11
Specify the MPI C++ compiler in CXX
CXX = mpic++
CC = $(CXX)
AR = ar
ARFLAGS = cruU
RANLIB = ranlib
MKDIR = @mkdir@
####################################################################
Do not need to alter anything below
####################################################################
LD = $(CXX)
LDFLAGS =
####################################################################
Extra (optional) source files, includes and libs
NOTE: EXTRA_SRC must include a solver (solver.cxx or ida_solver.cxx)
and a file format (nc_format.cxx or pdb_format.cxx)
####################################################################
EXTRA_INCS =
EXTRA_LIBS = -lfftw3 -lnetcdf -lnetcdf_c++ -L$(BOUT_TOP)/lib -lpvode -lpvpre
PRECON_SOURCE =
FACETS_SOURCE =
####################################################################
These are used for compiling physics modules using BOUT++ library
####################################################################
Files that are needed by configure and should be dependencies for 'all'
OBJ = $(SOURCEC:%.cxx=%.o)
LIB = $(BOUT_TOP)/lib/libbout++.a
BOUT_INCLUDE = -I$(BOUT_TOP)/include
BOUT_LIBS = -lm -L$(BOUT_TOP)/lib -lbout++ $(EXTRA_LIBS)
#DEPS = $(SOURCEC:.cxx=.d)
CHANGED =
Need to use ifndef because TARGET could be set in a file (as opposed to the command line or environment variable)
This will set a default if no TARGET is provided
ifndef TARGET
TARGET = $(SOURCEC:%.cxx=%)
endif
####################################################################
Definining stuff for recursive make
####################################################################
Phony targets since they are directory names
.PHONY: $(DIRS) lib install
all:
####################################################################
Recursively run make through subdirs
####################################################################
$(DIRS):
@$(MAKE) --no-print-directory -s -C $@ all
Create 'lib' and 'include' incase they don't exist
####################################################################
Install header files and libraries
####################################################################
prefix = /usr/local
exec_prefix = ${prefix}
install: all
@$(MKDIR)
@$(MKDIR)
@$(MKDIR)
@echo "Installing header files into
@cp include/.hxx $(DESTDIR)${prefix}/include
@echo "Installing library files into $(DESTDIR)${exec_prefix}/lib"
@cp lib/.a
####################################################################
A bit of a clever hack that determines wheter the TARGET variable is 'lib'
then, if true, adds the .o files to libbout++.a, else, it links the .o's
into an executable
####################################################################
ifeq ("$(TARGET)", "lib")
#BEGIN 'lib'
####################################################################
The prerquisites of any .o file should depend on
$(BOUT_TOP)/make.config
$(BOUT_TOP)/makefile
which are generated by configuration
####################################################################
#-include $(DEPS)
This automatically generates dependency rules
#%.d : %.cxx
-@$(CXX) $(BOUT_INCLUDE) $ (BOUT_FLAGS) -MF"$@" -MG -MP -MM -MT"$(<:.cxx=.o)" -fsyntax-only "$<" 2> /dev/null
####################################################################
Notes about the different flags:
-MF write the generated dependency rule to a file
-MG assume missing headers will be generated and don't stop with an error
-MM generate dependency rule for prerequisite, skipping system headers
-MP add phony target for each header to prevent errors when header is missing
-MT add a target to the generated dependency
####################################################################
####################################################################
Builds the library with $(OBJ) which is defined from the SOURCEC variable
####################################################################
lib: makefile
ifneq ("$(OBJ)foo", "foo")
@echo "Adding $(OBJ) to libbout++.a"
@$(AR)
@$(RANLIB) $(LIB)
endif
#END 'lib'
else
ifeq ("$(TARGET)", "sub")
LIB=$(MODULE_DIR)/$(SUB_NAME).a
sub: makefile
ifneq ("$(OBJ)foo", "foo")
@echo "Adding $(OBJ)"
@$(AR) cru
@$(RANLIB) $(LIB)
endif
else
####################################################################
Make libbout++.a if it doesn't exist with the checklib target
####################################################################
%.a:
@echo "Rebuilding out-of-date bout++ library"
@$(MAKE) --no-print-directory -C $(BOUT_TOP)
####################################################################
Make the target (e.g. gas_compress)
####################################################################
SUB_LIBS=$(DIRS:%=%.a)
$(TARGET).cxx: checklib
@echo " Linking" $(TARGET)
@$(LD)
checklib:
ifneq ("$(CHANGED)foo", "foo")
@echo "Rebuilding out-of-date bout++ library"
@$(MAKE) --no-print-directory -C $(BOUT_TOP)
endif
endif
endif
%.o: $(BOUT_TOP)/make.config %.cxx
@echo " Compiling " $(@f:.o=.cxx)
@$(CXX)
####################################################################
Clean target. Pretty self explanatory.
NOTE: See that double colon (::) below? That's signifies a rule that can be added to later
See:
http://owen.sj.ca.us/~rk/howto/slides/make/slides/makecolon.html
####################################################################
clean::
-@$(RM) -rf
@for pp in
distclean: clean
@echo include cleaned
Removing the externalpackage installation. When we have more packages, need a better way
@$(RM) -rf $(BOUT_TOP)/include/pvode
@echo lib cleaned
@$(RM) -rf $(BOUT_TOP)/lib/*
-@$(RM) $(BOUT_TOP)/externalpackages/PVODE/lib/*.a
-@$(RM) $(BOUT_TOP)/externalpackages/PVODE/source/obj/*.o
-@$(RM) $(BOUT_TOP)/externalpackages/PVODE/precon/obj/*.o
-@$(RM) -rf $(BOUT_TOP)/autom4te.cache make.config
@echo externalpackages cleaned
@touch $(BOUT_TOP)/configure
@echo autom4te.cache cleaned
####################################################################
Documentation
####################################################################
MANUAL_DIR=$(BOUT_TOP)/manual
doxygen:
cd $(MANUAL_DIR)/doxygen && doxygen Doxyfile
breathe-autogen: doxygen
breathe-apidoc -f -o
sphinx-docs-html: breathe-autogen
sphinx-build -b html
sphinx-docs-latex: breathe-autogen
sphinx-build -b latex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
run.log in initial_test
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
BOUT++ version 4.00
Revision: Unknown
MD5 checksum: 946e3d8d5632995b8e2b5f5842f42209
Code compiled on May 8 2017 at 15:10:29
B.Dudson (University of York), M.Umansky (LLNL) 2007
Based on BOUT by Xueqiao Xu, 1999
Processor number: 0 of 4
pid: 17411
Compile-time options:
Checking enabled, level 2
Signal handling enabled
netCDF support enabled
Parallel NetCDF support disabled
OpenMP parallelisation disabled
Reading options file data/BOUT.inp
Getting grid data from options
Option mesh:type = bout (default)
Option mesh:StaggerGrids = false (default)
Setting X differencing methods
First : Second order central (C2)
Second : Second order central (C2)
Upwind : First order upwinding (U1)
Flux : Split into upwind and central (SPLIT)
Setting Y differencing methods
First : Second order central (C2)
Second : Second order central (C2)
Upwind : First order upwinding (U1)
Flux : Split into upwind and central (SPLIT)
Setting Z differencing methods
First : Second order central (C2)
Second : Second order central (C2)
Upwind : First order upwinding (U1)
Flux : Split into upwind and central (SPLIT)
Option mesh:symmetricglobalx = true (data/BOUT.inp)
Option mesh:symmetricGlobalY = false (default)
Loading mesh
Option mesh:nx = 7 (data/BOUT.inp)
Option mesh:ny = 12 (data/BOUT.inp)
Option :mz = 4 (data/BOUT.inp)
Grid size: 7 x 12 x 4
Option :mxg = 1 (data/BOUT.inp)
Option :myg = 1 (data/BOUT.inp)
WARNING: Separatrix location 'ixseps1' not found. Setting to 7
WARNING: Separatrix location 'ixseps2' not found. Setting to 7
WARNING: Branch-cut 'jyseps1_1' not found. Setting to -1
WARNING: Branch-cut 'jyseps1_2' not found. Setting to 6
WARNING: Branch-cut 'jyseps2_1' not found. Setting to 6
WARNING: Branch-cut 'jyseps2_2' not found. Setting to 11
WARNING: Number of inner y points 'ny_inner' not found. Setting to 6
Option :nxpe = 1 (data/BOUT.inp)
Option :IncIntShear = false (default)
Option :periodicX = false (default)
Option :async_send = false (default)
Option :ZMIN = 0 (default)
Option :ZMAX = 1 (default)
EQUILIBRIUM IS SINGLE NULL (SND)
Connection between top of Y processor 3 and bottom of 0 in range 0 <= x < 7
=> This processor sending in down
WARNING adding connection: poloidal index -1 out of range
MYPE_IN_CORE = 1
DXS = 7, DIN = 3. DOUT = -1
UXS = 0, UIN = -1. UOUT = 1
XIN = -1, XOUT = -1
Twist-shift: DI
Option :TwistShift = false (default)
Boundary regions in this processor: core, sol,
done
Option mesh:paralleltransform = identity (default)
Option :append = false (default)
Option :dump_format = nc (default)
Setting up output (dump) file
Option output:parallel = false (default)
Option output:flush = true (default)
Option output:guards = true (default)
Option output:floats = false (default)
Option output:openclose = true (default)
Option output:enabled = true (default)
Option output:init_missing = false (default)
Option output:shiftOutput = false (default)
Using NetCDF format for file 'data/BOUT.dmp.nc'
Variable 'dx' not in mesh options. Setting to 0.000000e+00
WARNING: differencing quantity 'dx' not found. Set to 1.0
Variable 'dy' not in mesh options. Setting to 0.000000e+00
WARNING: differencing quantity 'dy' not found. Set to 1.0
Option :ZMIN = 0 (default)
Option :ZMAX = 1 (default)
Variable 'g11' not in mesh options. Setting to 1.000000e+00
Variable 'g22' not in mesh options. Setting to 1.000000e+00
Variable 'g33' not in mesh options. Setting to 1.000000e+00
Variable 'g12' not in mesh options. Setting to 0.000000e+00
Variable 'g13' not in mesh options. Setting to 0.000000e+00
Variable 'g23' not in mesh options. Setting to 0.000000e+00
Maximum error in diagonal inversion is 0.000000e+00
Maximum error in off-diagonal inversion is 0.000000e+00
Variable 'J' not in mesh options. Setting to 0.000000e+00
WARNING: Jacobian 'J' not found. Calculating from metric tensor
Variable 'Bxy' not in mesh options. Setting to 0.000000e+00
WARNING: Magnitude of B field 'Bxy' not found. Calculating from metric tensor
Calculating differential geometry terms
Communicating connection terms
Option :non_uniform = false (default)
Variable 'd2x' not in mesh options. Setting to 0.000000e+00
WARNING: differencing quantity 'd2x' not found. Calculating from dx
Variable 'd2y' not in mesh options. Setting to 0.000000e+00
WARNING: differencing quantity 'd2y' not found. Calculating from dy
Variable 'ShiftTorsion' not in mesh options. Setting to 0.000000e+00
WARNING: No Torsion specified for zShift. Derivatives may not be correct
Option var_x:function = x (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option var_y:function = y (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option var_z:function = z (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option abs:function = abs(x - 0.5) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option add:function = x + 2 (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option asin:function = asin(y/(2pi)) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option acos:function = acos(y/(2pi)) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option atan:function = atan(y/(2pi)) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option atan_y:function = atan(y,x) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option ballooning:function = ballooning(x) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option ballooning_n:function = ballooning(x,5) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option cos:function = cos(x) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option cosh:function = cosh(x) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option exp:function = exp(x) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option tanh:function = tanh(x) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option gauss:function = gauss(x) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option gauss_width:function = gauss(x, 1.0) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option h:function = h(x) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option log:function = log(abs(x)) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option max:function = max(4x,y-pi,z^3) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option min:function = min(4x,y-pi,z^3) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option minus:function = 4 - x (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option mixmode:function = mixmode(x) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option mixmode_seed:function = mixmode(x, 0.5) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option pi:function = z - pi (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option power:function = power(abs(x), y) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option sin:function = sin(x) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option sinh:function = sinh(x) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option sqrt:function = sqrt(abs(x)) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option square:function = y^2 (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option tan:function = tan(x) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option times:function = 4y (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option erf:function = erf(x) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)
Option tanhhat:function = tanhhat(x, 0.5, 0.4, 0.3) (data/BOUT.inp)
Option all:scale = 1 (data/BOUT.inp)