DDSCAT은 불규칙한 모양의 입자나 복잡한 구조를 가진 물체에 대해 전자기파의 산란 및 흡수를 계산하기 위한 오픈 소스 프로그램입니다.
이 문서에서는 DDSCAT 7.3.3 버전을 컴파일 하여 설치 하는 방법에 대해 예시로 소개합니다.
누리온 시스템에서는 PATH, LD_LIBRARY_PATH 설정을 손쉽게 하기 위해서 환경설정 툴인 Module이 구성되어 있으며 이하 설치 소개에서는 module load 를 이용한 환경설정 방법으로 안내 드립니다.
Copy $ module purge
$ module load intel/18.0.3 impi/18.0.3
설치 과정 소개는 tar 를 이용한 압축 해제 방법과 설정 방법등 진행 절차를 위주로 설명하고, 소스 파일 다운로드 등은 생략합니다.
Copy $ tar -xzvf ddscat7.3.3_200717.tgz
$ cd src
$ cp $MKLROOT/include/mkl_dfti.f90 .
$ vi Makefile
- - - - - [ Makefile 파일 수정 내용] 참고 - - - - -
$ make ddscat
$ ls ddscat
ddscat
Copy #### line 114 ~ 125 주석처리 ####
110 # 1. gfortran compiler
111 # sp + no MKL + no OpenMP + no MPI
112 #
113 # define the following:
114 # PRECISION = sp
115 # CXFFTMKL.f = cxfft3_mkl_fake.f90
116 # CXFFTMKL.o = cxfft3_mkl_fake.o
117 # MKLM =
118 # DOMP =
119 # OPENMP =
120 # MPI.f = mpi_fake.f90
121 # MPI.o = mpi_fake.o
122 # DMPI =
123 # FC = gfortran
124 # FFLAGS = -O2
125 # LFLAGS =
#### line 266 ~ 277 주석처리 해제 및 수정 ####
258 # 8. ifort compiler (via mpif90)
259 # sp + MKL + OpenMP + MPI
260
261 # on some systems, before compiling, type
262 # module purge
263 # module load intel-mkl openmpi
264
265 # define the following:
266 PRECISION = sp
267 CXFFTMKL.f = $(MKL_f)
268 CXFFTMKL.o = $(MKL_o)
269 MKLM = $(MKL_m)
270 DOMP = -Dopenmp
271 OPENMP = -qopenmp
272 MPI.f = $(MPI_f)
273 MPI.o = $(MPI_o)
274 DMPI = -Dmpi
275 FC = mpiifort
276 FFLAGS = -O2
277 LFLAGS = -traceback -mkl=parallel -lmpi\