Droplet Lagrangian Transient One-dimensional Reacting Code Implementation of both liquid and gas phase governing equations.
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

99 rindas
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 =DropletCombustion3
  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