최종 수정: 2025-10-06 읽기 약 5분

시스템 요구사항

  • 운영체제: Windows 10/11 (64비트), Linux, 또는 macOS
  • 메모리: 최소 4 GB RAM (대형 메쉬의 경우 16 GB 권장)
  • 디스크 공간: 설치에 500 MB
  • CPU: 멀티코어 프로세서 권장 (OpenMP 병렬화 지원)

Windows 실행 환경

필수 구성 요소:

참고: VTK 라이브러리 DLL은 실행 파일과 함께 배포되므로 별도 설치 불필요

안내: 파이썬 패키지, CFD 연동을 위한 UDF 등은 별도의 프로그램으로 제공됩니다.



설치 방법

Windows 설치

  1. 다운로드: 릴리즈 패키지 UVSim3D_v3.0.1_win64.zip 다운로드
  2. 압축 해제: 원하는 폴더에 압축 해제 (예: C:\UVSim3D)
  3. PATH 추가 (선택사항):
    • "내 PC" 우클릭 → 속성 → 고급 시스템 설정
    • 환경 변수 → 시스템 변수 → Path → 편집
    • C:\UVSim3D\bin 추가
  4. 설치 확인:
    cmd
    UVSim3D_DP.exe --help

Linux 설치

bash
# 압축 해제
tar -xzf UVSim3D_v3.0.1_linux64.tar.gz
cd UVSim3D

# PATH 추가 (~/.bashrc에 추가)
export PATH=$PATH:/path/to/UVSim3D/bin

# 설치 확인
UVSim3D_DP --help

설치 검증

검증 케이스를 실행하여 설치 확인:

bash
cd samples
UVSim3D_DP --config validation_case3_mpss.json --mesh case3_mesh.txt --output test_output.txt

성공하면 로그 파일과 출력 파일이 생성됩니다.



빠른 시작 튜토리얼

1단계: 메쉬 파일 준비

계산 포인트(x, y, z 좌표, 단위: 미터)가 포함된 간단한 텍스트 파일 nodes.txt 생성:

code
0.0, 0.0, 0.1
0.0, 0.0, 0.2
0.0, 0.0, 0.3

또는 VTU/VTKHDF/CGNS 형식의 CFD 메쉬 사용 가능.

2단계: 설정 파일 생성

my_reactor.json 파일 생성 (JSON v3.0 형식):

json
{
    "version": "3.0",
    "title": "나의 첫 UV 반응기 시뮬레이션",
    "description": "단일 LP 램프 반응기",
    "id": "reactor_001",
    "reactorConfig": {
        "lampSpecs": [
            {
                "id": "LP150W",
                "lampType": "lp",
                "description": "150W LP 램프",
                "power": 150.0,
                "eta": 0.35,
                "arcLength": 0.8,
                "diameter": 0.015,
                "sleeveDia": 0.025,
                "sleeveThickness": 0.002,
                "uvBands": [
                    {
                        "lambda": 254,
                        "waterRI": 1.33,
                        "waterUVT": 0.95,
                        "relativeEnergy": 1.0,
                        "sleeveRI": 1.5,
                        "sleeveUVT": 0.90,
                        "gef": 1.0
                    }
                ]
            }
        ],
        "lampLayout": [
            {
                "lampId": "LP150W",
                "dimming": 1.0,
                "position": [0.0, 0.0, 0.0],
                "direction": [0.0, 0.0, 1.0]
            }
        ]
    },
    "solverConfig": {
        "radiationModel": "msss",
        "rootFindingMethod": "brents",
        "enableShadowing": false,
        "numThreads": 0,
        "relativeTolerance": 1.0e-5,
        "lampSegmentation": 1000,
        "maxIteration": 50
    }
}

3단계: 시뮬레이션 실행

bash
UVSim3D_DP --config my_reactor.json --mesh nodes.txt --output results.txt

4단계: 결과 확인

출력 파일 results.txt 확인:

code
# UVSim3D Results
# nodes: 3, bands: 1
# x, y, z, band1, lamda = 254nm
0.000000, 0.000000, 0.100000, 125.456
0.000000, 0.000000, 0.200000, 98.234
0.000000, 0.000000, 0.300000, 76.891

마지막 열은 각 포인트에서의 UV 조사율(W/m²)을 나타냅니다.