최종 수정: 2025-10-06 읽기 약 6분
예제 및 응용 사례
예제 1: 단일 VUV/UV 램프 반응기
시나리오: 42W VUV/UV 램프 1개가 있는 수직 원통형 반응기
파일: samples/validation_case3/validation_case3_mpss.json
설정 요점 (JSON v3.0):
json
{
"version": "3.0",
"reactorConfig": {
"lampSpecs": [
{
"id": "LP_VUV_UV",
"lampType": "lp",
"power": 42.0,
"eta": 0.2607,
"arcLength": 0.278,
"uvBands": [
{"lambda": 185, "relativeEnergy": 0.04109, ...},
{"lambda": 254, "relativeEnergy": 0.95891, ...}
]
}
],
"lampLayout": [
{"lampId": "LP_VUV_UV", "position": [0.0, 0.0, 0.0], "direction": [0.0, 1.0, 0.0]}
]
}
}실행:
bash
cd samples
UVSim3D_DP --config validation_case3_mpss.json --mesh case3_mesh.txt --output case3_results.txt예상 출력: 램프 근처에서 50-200 W/m² 조사량 값, 거리에 따라 감소
예제 2: 다중 램프 반응기 (24개 램프)
시나리오: 원통형 배열에 24개의 램프가 있는 산업용 Photoreactor
파일: samples/upw-reactor-24lamps-demo.json
설정 요점 (JSON v3.0):
json
{
"version": "3.0",
"reactorConfig": {
"lampSpecs": [
{
"id": "LP150W",
"lampType": "lp",
"power": 150.0,
"eta": 0.35,
"arcLength": 0.8,
"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.15, 0.0, 0.5], "direction": [0.0, 0.0, 1.0]},
{"lampId": "LP150W", "dimming": 1.0, "position": [-0.15, 0.0, 0.5], "direction": [0.0, 0.0, 1.0]}
// ... 22개 램프 더 (동일한 lampSpecs 참조)
]
},
"solverConfig": {
"lampSegmentation": 1000,
"numThreads": 0
}
}실행:
bash
UVSim3D_DP --config upw-reactor-24lamps-demo.json --mesh reactor_mesh.vtu --output fluence_24lamps.vtu예제 3: 관심 영역용 공간 필터
시나리오: 큰 메쉬이지만 중앙 영역에만 관심
설정:
json
{
"spatialFilter": {
"enabled": true,
"xMin": -0.1,
"xMax": 0.1,
"yMin": -10.0,
"yMax": 10.0,
"zMin": -10000,
"zMax": 10000
}
}이점: 필터가 포인트의 90%를 제외하면 10배 빠른 계산
예제 4: MPSS vs MSSS 비교
두 모델로 동일한 케이스 실행:
bash
# MPSS
UVSim3D_DP --config validation_case1_mpss.json --mesh mesh.vtu --output result_mpss.vtu
# MSSS
UVSim3D_DP --config validation_case1_msss.json --mesh mesh.vtu --output result_msss.vtu일반적인 차이: 일반적인 소독용 램프의 경우 MSSS가 정확하지만, 램프 길이가 짧거나 특수 케이스의 경우 MPSS가 적합할 수 있음. 문헌 대비 정량 검증 결과는 "MPSS·MSSS 검증" 문서를 참고하세요.
예제 5: 설정 파일 검증 (드라이 런)
시나리오: 실제 계산 전에 설정 파일의 문법과 매개변수 유효성 확인
실행:
bash
# 빠른 검증 (메쉬 로딩 및 계산 생략)
UVSim3D_DP --config my_new_reactor.json --dry
# 로그 파일 없이 빠른 검증
UVSim3D_DP --config my_new_reactor.json --dry --log off사용 시기:
- 새 설정 파일 작성 후 문법 오류 확인
- JSON 형식 검증
- 매개변수 범위 검증 (예: relativeEnergy 합이 1.0인지)
- 램프 ID 중복 확인
출력 예제:
code
[info] === Loading Simulation Configuration ===
[info] SUCCESS: JSON loaded successfully!
[info] Lamps: 4
[info] Bands: 2
[info] Validating Configuration Done.
[info] === Dry Run Mode ===
[info] Configuration validated successfully.
[info] Dry run completed - skipping mesh loading and calculation.