형상 최적화

편집 역사 토론
시뮬레이션 최적설계 구조해석 마지막 수정: 2026-07-16 04:48:12

1. 개요[편집]

형상 최적화
Shape Optimization
설계 대상경계의 위치(형상)
구별 대상위상 최적화 — 재료 분포
민감도수반법(adjoint), 유한차분, 복소 스텝
필수 부품매개변수화, 메시 변형
대표 사례익형 항력 저감, 브래킷 경량화

위상 최적화가 “여기 재료를 둘까 말까”를 고민한다면, 형상 최적화는 “이 면을 0.3 mm 안으로 밀까”를 고민한다.

형상 최적화(shape optimization)는 해석 도메인의 경계 형상을 설계변수로 삼아 목적함수(항력, 무게, 최대 응력 등)를 최소화하는 최적설계 기법이다. 위상(topology)은 고정한 채 경계를 움직인다 — 구멍의 개수는 그대로고, 있던 구멍이 커지거나 작아지거나 모양이 바뀔 뿐이다.

이게 위상 최적화와의 결정적인 차이다. 위상 최적화는 각 요소의 재료 밀도를 0~1 사이 변수로 두고 재료를 아예 없애거나 새 구멍을 뚫는다. 자유도가 압도적으로 크지만 결과물은 CAD로 옮기기 난감한 유기적 덩어리로 나온다. 형상 최적화는 자유도가 작은 대신 결과가 처음부터 CAD 형상이고 제조 가능성이 유지된다. 실무의 국룰은 둘을 순서대로 쓰는 것 — 개념 단계에서 위상 최적화로 뼈대를 잡고, 그 형상을 CAD로 재구성한 뒤 형상 최적화로 다듬는다.1

2. 설계변수 매개변수화[편집]

경계를 어떻게 숫자로 표현할지가 첫 번째 갈림길이고, 여기서 최적화의 상한이 결정된다.

  • CAD 파라미터 기반 — 스케치 치수, 필렛 반경, 스팬 방향 트위스트각 같은 CAD 모델의 파라미터를 그대로 설계변수로 쓴다. 최적 결과가 곧바로 제조 도면이 되는 게 최대 장점. 단 파라미터가 표현하지 못하는 형상은 애초에 탐색 범위 밖이다.
  • 곡선/곡면 제어점베지어 곡선, B-스플라인, NURBS의 제어점 좌표를 움직인다. 항공 익형 설계의 전통적 방식이며, CST(Class-Shape Transformation) 같은 익형 전용 매개변수화도 널리 쓰인다.
  • 자유형상변형 / 모핑 박스 — FFD(Free-Form Deformation). 형상을 격자 상자로 감싸고 상자의 제어점을 움직이면 안에 든 형상과 격자가 함께 변형된다. CAD 없이도 되고, 형상과 메시를 동시에 움직인다는 점에서 CFD 최적화에 특히 편하다.
  • 노드 기반 — 표면 격자 노드 좌표를 전부 설계변수로 푼다. 자유도가 최대라 이론적 최적에 가장 가깝지만, 그대로 두면 표면이 톱니처럼 우글거린다. 반드시 평활화(smoothing)나 소볼레프 구배가 필요하다.

원칙: 자유도가 크면 더 좋은 답에 닿을 수 있지만, 동시에 더 이상한 답에도 닿을 수 있다.

3. 민감도 해석 — 수반법[편집]

nn개의 설계변수에 대해 목적함수의 구배 dJ/dαidJ/d\alpha_i를 어떻게 구할 것인가. 이게 형상 최적화의 심장이다.

유한차분은 설계변수를 하나씩 흔들어 다시 해석한다. 구현은 열 줄이면 되지만 해석을 n+1n+1번 돌려야 하고, 스텝 크기를 잘못 잡으면 절단오차와 부동소수점 연산 반올림오차 사이에서 진퇴양난에 빠진다. 설계변수가 50개면 이미 답이 없다.

수반법(adjoint method)이 판을 뒤집는다. 상태 방정식 R(u,α)=0\mathbf{R}(\mathbf{u}, \alpha) = 0의 제약 아래 J(u,α)J(\mathbf{u}, \alpha)를 최소화하는 문제에 라그랑주 승수법을 적용하면, 수반 변수 ψ\boldsymbol{\psi}가 다음 선형 시스템을 만족할 때

(Ru)Tψ=(Ju)T\left( \frac{\partial \mathbf{R}}{\partial \mathbf{u}} \right)^{T} \boldsymbol{\psi} = -\left( \frac{\partial J}{\partial \mathbf{u}} \right)^{T}

전체 구배가 이렇게 정리된다.

dJdα=Jα+ψTRα\frac{dJ}{d\alpha} = \frac{\partial J}{\partial \alpha} + \boldsymbol{\psi}^{T} \frac{\partial \mathbf{R}}{\partial \alpha}

핵심은 ψ\boldsymbol{\psi}설계변수와 무관하다는 것. 수반 방정식을 딱 한 번 푸는 비용으로 설계변수가 10개든 10만 개든 전 구배를 얻는다.2 비용이 대략 해석 한 번의 1~2배 수준. 1988년 지아메슨(Antony Jameson)이 항공 설계에 도입한 이래, 현대 공력 형상 최적화는 사실상 전부 수반법이다.

수반 시스템의 행렬은 원 자코비안 행렬의 전치이므로, 크리로프 부분공간법전처리기를 그대로 재활용할 수 있다. 구현은 두 갈래다. 연속 수반은 PDE 수준에서 수반 방정식을 유도해 따로 이산화하고, 이산 수반은 이산화된 잔차에서 바로 미분한다(자동미분으로 뽑기도 한다). 이산 수반이 구배의 일관성이 좋아 최적화기가 더 얌전히 수렴하는 편이다. 대신 코드가 무겁고, 난류 모델을 벽함수까지 포함해 전부 미분해야 하는 지옥이 열린다.3

4. 메시 변형[편집]

형상이 바뀌면 격자도 따라가야 한다. 매번 메시 생성을 다시 하면 느리고, 격자 토폴로지가 바뀌면서 목적함수에 수치적 잡음이 끼어 구배 기반 최적화기가 미쳐버린다. 그래서 기존 격자를 변형한다.

  • RBF 보간 — 표면 노드 변위를 방사기저함수로 내부까지 퍼뜨린다. 품질이 좋아 사실상의 표준. 노드가 많아지면 비용이 커서 그리디 축소를 함께 쓴다.
  • 선형 탄성 유사법 — 격자를 가상의 탄성체로 보고 유한요소법으로 변위를 푼다. 작은 셀에 강성을 크게 주면 경계층 격자가 뭉개지는 걸 막을 수 있다.
  • 스프링 유사법 — 엣지를 스프링으로 보는 고전 기법. 싸지만 큰 변형에서 셀이 뒤집힌다.

큰 변형에서 셀 부피가 음수가 되는 순간 해석은 그대로 폭사한다. 그래서 형상 최적화 루프에는 격자 품질 체크와, 필요하면 재생성 후 재시작하는 로직이 반드시 들어간다.

5. 최적화 루프[편집]

부품이 다 모이면 루프는 이렇게 돈다.

  1. 설계변수 α\boldsymbol{\alpha}로 형상 결정 → 메시 변형.
  2. 유동/구조 해석 → 목적함수 JJ와 제약 평가.
  3. 수반 해석 → 구배 dJ/dαdJ/d\boldsymbol{\alpha}.
  4. 최적화기가 다음 설계점 제시(SQP, 준-뉴턴법 계열의 BFGS, 제약이 많으면 SLSQP나 SNOPT).
  5. 수렴할 때까지 반복.

이 루프의 성패는 목적함수가 설계변수에 대해 매끄러운가에 달려 있다. 해석의 수렴 잔차를 느슨하게 잡으면 JJ에 수치 잡음이 끼고, 구배가 그 잡음을 증폭해서 최적화기가 갈지자로 걷는다. 그래서 형상 최적화용 해석은 평소보다 잔차를 몇 자릿수 더 떨어뜨려 돌리는 게 보통이다.

제약 조건은 대개 목적함수보다 많다. 두께, 용적, 최대 응력, 양력 유지, 제조 가능성… 이 제약들에도 각각 구배가 필요한데, 수반은 목적함수 하나당 한 번이므로 제약이 mm개면 수반 해석도 m+1m+1번이다. 설계변수 개수에는 무관하지만 목적·제약 개수에는 선형으로 비례한다 — 수반법의 공짜 점심에 붙은 잔글씨다.

6. 사례와 현실[편집]

공력. 익형·날개의 항력 최소화가 대표 사례다. 순항 조건 하나에만 최적화하면 그 지점에서만 잘 나오고 마하수가 조금만 벗어나면 성능이 급락하는 점 최적화(point-optimized) 함정에 빠진다. 그래서 여러 비행 조건을 가중합하는 다점 최적화가 표준이다. 최적화기는 유동박리나 충격파를 지우려고 형상을 밀어붙이는데, 그 결과가 제조 가능한지는 관심이 없다 — 두께·용적 제약을 걸어주는 건 사람 몫이다.4

구조. 브래킷의 응력집중을 줄이는 필렛 형상 최적화가 교과서적 사례다. 목적함수를 최대 폰 미제스 응력으로 잡으면 미분 불가능해서 최적화기가 진동하므로, p-norm이나 KS 함수로 매끄럽게 근사해서 쓴다. 피로 해석 수명을 목적함수로 거는 경우도 많다.

비용 완화. 수반법을 써도 해석 한 번이 몇 시간이면 수십 사이클도 부담이다. 그래서 대리 모델이나 축소차수모델을 끼워 루프를 돌리는 하이브리드가 흔하다. 물론 그 순간 대리 모델의 외삽 위험이 그대로 딸려온다.

7. 관련 문서[편집]

8. Footnotes[편집]

  1. 위상 최적화 결과를 그대로 3D 프린팅해서 “최적화 했습니다”라고 제출하는 건 개념 검증까지는 훌륭하지만, 양산 부품이 절삭이나 주조로 나가야 한다면 그 유기적 뼈다귀는 견적서에서 조용히 반려된다.

  2. 이 구조는 신경망 역전파와 수학적으로 완전히 같은 물건이다. 출력 하나에 대한 다수 입력의 구배를 역방향 한 번으로 얻는다. 계산 공학이 1970~80년대에 정립한 걸 딥러닝이 재발견한 셈인데, 이제는 자동미분 도구를 딥러닝 쪽에서 빌려 쓰고 있으니 빚은 갚은 것 같다.

  3. 그래서 초기 구현들은 난류 점성을 상수로 얼려버리는 “frozen turbulence” 가정을 썼다. 편하지만 구배가 틀리고, 특히 박리가 있는 유동에서는 방향까지 틀릴 수 있다. 요즘 상용 코드들은 대체로 완전 미분 수반을 제공한다.

  4. 형상 최적화 결과를 처음 보면 “이게 왜 좋은데?”라는 형상이 나오는 경우가 많다. 대개는 최적화기가 옳고, 가끔은 제약 조건을 덜 걸어놓은 사람이 틀렸다. 최적화기는 목적함수만 보고 달릴 뿐 상식이 없다.