> For the complete documentation index, see [llms.txt](https://docs-ksc.gitbook.io/blog/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-ksc.gitbook.io/blog/install/nurion/nurion-ddscat-7.3.3-install.md).

# DDSCAT v7.3.3 설치 소개

DDSCAT은 불규칙한 모양의 입자나 복잡한 구조를 가진 물체에 대해 전자기파의 산란 및 흡수를 계산하기 위한 오픈 소스 프로그램입니다.

* DDSCAT 공식 홈페이지 : [http://ddscat.wikidot.com](http://ddscat.wikidot.com/)

이 문서에서는 DDSCAT 7.3.3 버전을 컴파일 하여 설치 하는 방법에 대해 예시로 소개합니다.

## **가. 설치 환경**

| 구분         | 내용                         |
| ---------- | -------------------------- |
| 대상 시스템     | 누리온                        |
| OS Version | 리눅스 / CentOS 7.9           |
| CPU        | Intel(R) Xeon(R) Gold 6126 |
| 컴파일러       | Intel 2018.1.3             |
| MPI        | Intel mpi 2018.3           |
| 기타         |                            |

## **나. 설치 전 환경 설정**

누리온 시스템에서는 PATH, LD\_LIBRARY\_PATH 설정을 손쉽게 하기 위해서 환경설정 툴인 Module이 구성되어 있으며 이하 설치 소개에서는 module load 를 이용한 환경설정 방법으로 안내 드립니다.

\[ 환경 설정 ]

```shell-session
$ module purge
$ module load intel/18.0.3 impi/18.0.3
```

## **다. DDSCAT-7.3.3 버전 설치 과정**

설치 과정 소개는 tar 를 이용한 압축 해제 방법과 설정 방법등 진행 절차를 위주로 설명하고, 소스 파일 다운로드 등은 생략합니다.

\[설치과정]

```
$ tar -xzvf ddscat7.3.3_200717.tgz
$ cd src
$ cp $MKLROOT/include/mkl_dfti.f90 .
$ vi Makefile
- - - - - [ Makefile 파일 수정 내용] 참고 - - - - -

$ make ddscat

$ ls ddscat
ddscat
```

\[Makefile 파일 수정 내용]

```makefile
#### 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\
```

## **라. 실기영상**

{% embed url="<https://youtu.be/GC1APApZuUE>" %}
\[누리온] DDSCAT7.3.3 설
{% endembed %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs-ksc.gitbook.io/blog/install/nurion/nurion-ddscat-7.3.3-install.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
