Droplet Lagrangian Transient One-dimensional Reacting Code Implementation of both liquid and gas phase governing equations.
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

99 Zeilen
2.6KB

  1. #compiler =icpc
  2. #CANTERA_DIR =/opt/scientific/cantera-2.3_intel_mkl
  3. #IDA_DIR =/opt/scientific/sundials-3.1.1_intel_mkl
  4. #EXE =lagrangianCombustion2
  5. #DESTDIR =~/bin
  6. compiler =g++
  7. CANTERA_DIR =/opt/scientific/cantera-2.4_gnu_blas
  8. IDA_DIR =/opt/scientific/sundials-3.1.1_intel_mkl
  9. EXE =DropletCombustion2
  10. #DESTDIR =~/bin
  11. DESTDIR = ../example
  12. CANTERA_INCLUDES=-I$(CANTERA_DIR)/include
  13. GSL_INCLUDES =-I/usr/include/gsl
  14. GSL_LIBS =-L/usr/lib -lgsl -lgslcblas
  15. IDA_INCLUDES =-I$(IDA_DIR)/include
  16. SUN_INCLUDES =-I$(IDA_DIR)/include
  17. IDA_LIBS =-L$(IDA_DIR)/lib -lsundials_nvecopenmp \
  18. -lsundials_ida -lsundials_sunlinsollapackband
  19. CANTERA_LIBS =-L$(CANTERA_DIR)/lib -lcantera_shared
  20. RPATH =-Wl,-rpath=$(IDA_DIR)/lib,-rpath=$(CANTERA_DIR)/lib
  21. RM=rm -f
  22. compiler?=g++
  23. ifeq ($(compiler),g++)
  24. ifeq ($(MAKECMDGOALS),debug)
  25. CPPFLAGS= -Wall -g3 -ggdb
  26. else
  27. CPPFLAGS= -Wall -O3
  28. endif
  29. CPP=g++
  30. endif
  31. ifeq ($(compiler),icpc)
  32. export GXX_INCLUDE=/usr/lib/gcc/x86_64-pc-linux-gnu/7.4.1/include/c++
  33. CPPFLAGS= -Wall -O3 -gxx-name=/usr/bin/g++-7 -std=c++11
  34. CPP=icpc
  35. endif
  36. OBJS = parse.o UserData.o gridRoutines.o residue.o solution.o main.o
  37. all: $(EXE)
  38. # pull in dependency info for *existing* .o files
  39. -include $(OBJS:.o=.d)
  40. parse.o: parse.cpp parse.h parse.hpp
  41. $(CPP) $(CPPFLAGS) -c parse.cpp -o parse.o
  42. $(CPP) -MM parse.cpp > parse.d
  43. solution.o: solution.cpp solution.h
  44. $(CPP) $(CPPFLAGS) $(CANTERA_INCLUDES) $(IDA_INCLUDES) \
  45. -c solution.cpp -o solution.o
  46. $(CPP) -MM $(CANTERA_INCLUDES) $(IDA_INCLUDES) \
  47. solution.cpp > solution.d
  48. residue.o: residue.cpp residue.h UserData.h gridRoutines.h
  49. $(CPP) $(CPPFLAGS) $(CANTERA_INCLUDES) \
  50. $(IDA_INCLUDES) $(GSL_INCLUDES) -c residue.cpp \
  51. -o residue.o -fopenmp
  52. $(CPP) -MM $(CANTERA_INCLUDES) \
  53. $(IDA_INCLUDES) $(GSL_INCLUDES) \
  54. residue.cpp > residue.d
  55. gridRoutines.o: gridRoutines.cpp gridRoutines.h parse.h
  56. $(CPP) $(CPPFLAGS) -c gridRoutines.cpp -o gridRoutines.o
  57. $(CPP) -MM gridRoutines.cpp > gridRoutines.d
  58. UserData.o: UserData.cpp UserData.h gridRoutines.h parse.h
  59. $(CPP) $(CPPFLAGS) $(CANTERA_INCLUDES) \
  60. -c UserData.cpp -o UserData.o
  61. $(CPP) -MM $(CANTERA_INCLUDES) \
  62. UserData.cpp > UserData.d
  63. main.o: main.cpp UserData.h solution.h residue.h macros.h
  64. $(CPP) $(CPPFLAGS) $(CANTERA_INCLUDES) $(IDA_INCLUDES) \
  65. -c main.cpp -o main.o
  66. $(CPP) -MM $(CANTERA_INCLUDES) $(IDA_INCLUDES) \
  67. main.cpp > main.d
  68. $(EXE): $(OBJS)
  69. $(CPP) $(CPPFLAGS) $(IDA_INCLUDES) \
  70. $(CANTERA_INCLUDES) $(GSL_INCLUDES) $(RPATH) \
  71. $(OBJS) -o $(EXE) -fopenmp $(IDA_LIBS) \
  72. $(CANTERA_LIBS) $(GSL_LIBS)
  73. debug: $(EXE)
  74. .PHONY: install
  75. install:
  76. cp $(EXE) $(DESTDIR)/$(EXE)
  77. .PHONY: clean
  78. clean:
  79. rm -f $(EXE) $(OBJS) *.d