Files
김경종 b13258af9f
Tests / Hermetic test suite (push) Has been cancelled
Tests / Skill frontmatter validation (push) Has been cancelled
add documents and wiki
2026-06-02 16:33:07 +09:00

16 KiB
Raw Permalink Blame History


\sigma_ {z, \alpha} ^ {b} = \frac {x _ {\alpha} - x _ {f}}{\int_ {- t / 2} ^ {t / 2} (x - x _ {f}) ^ {2} (1 + \frac {x}{\rho}) d x} \int_ {- t / 2} ^ {t / 2} (x - x _ {f}) \sigma_ {z} (1 + \frac {x}{\rho}) d x, \alpha = A, B \tag {5.10.6}

x_{f} : 구간의 중심과 중립면 사이의 거리

곡률 반지름(radius of curvature) ρ 는 모델의 모양에 의해 결정되지 않고 사용자가 정의하는 값이며, 입력하지 않는 경우 곡률이 존재하지 않는 것으로 가정한다. 또한 x_{f} 는 자오선 응력의 계산에 사용된 값과 다르다는 점에 주의해야 한다.

text_image

GCS - z y x B x_f ρ A Neutral surface R_A R_C R_B GCS - x

그림 5.10.2 응력 선형보간을 위한 구간 설정과 좌표계 정의 (축대칭 모델)

두께방향 응력(thickness stress)는 \sigma_{x} 에 해당하며, 다음의 식을 이용하여 막응력과 굽힘응력을 계산한다.


\sigma_ {x} ^ {m} = \frac {1}{t} \int_ {- t / 2} ^ {t / 2} \sigma_ {x} d x \tag {5.10.7}

\sigma_ {x, \alpha} ^ {b} = \sigma_ {x, A} - \sigma_ {x} ^ {m}, \alpha = A, B \tag {5.10.8}

전단 응력의 경우에는 포물선 형태로 가정하여, 양 끝점 A,B에서 값을 0으로간주한다. 그러므로 굽힘응력 성분은 존재하지 않고 막응력 성분만을 다음 식을이용하여 계산하다.


\sigma_ {x y} ^ {m} = \frac {1}{t} \int_ {- t / 2} ^ {t / 2} \sigma_ {x y} \frac {R}{R _ {C}} d x \tag {5.10.9}

5.11 위상 최적화

위상 최적화는 주어진 목적에 가장 적합하도록 재료의 분포를 결정하는 레이아웃 최적화 문제이다. 전체 설계단계 중 개념설계 단계에서 설계자의 공학적인판단에 핵심적인 근거를 제시하거나, 새로운 대안에 대한 아이디어를 제공하는데 주로 사용된다. 또한 기본 위상 최적화 문제구성에 다양한 제약조건을 고려하여 좀 더 현실적인 설계안을 만들어내기도 한다.

위상 최적화에서 재료의 분포를 표현하기 위한 방법으로 해석을 위해 생성한 유한요소의 밀도 변수를 사용한다. 요소 밀도가 “1”이라는 것은 요소가 필요한 부분, “0”은 요소가 필요 없는 부분을 의미한다. 일반적인 최적설계와는 다르게 설계변수가 재료의 사용여부를 판단하는 요소의 밀도밖에 없기 때문에 사용자가별도의 설계변수를 지정하지 않고, 목적함수와 제약조건의 조합만으로 최적화문제를 구성한다. 이 절에서는 midas NFX에서 제공하는 위상 최적화의 문제구성의 종류와 각 최적화 해법에 대해 설명한다.

5.11.1 목적함수와 민감도

위상 최적화의 문제 구성 방식은 일반적인 최적화 방법과 마찬가지로 제약조건하에서 목적함수를 최대화 또는 최소화하는 설계변수를 찾는 방식이다. 목적함수를 최소화하는 경우 위상 최적화 문제구성은 (5.11.1)과 같이 표현할 수 있다.


\text { Minimize: } c (\mathbf {x})

\text { subject   to }: \mathrm{h} _ {i} (\mathbf {x}) = 0 \quad (i = 1, \dots , M) \tag {5.11.1}

C : 목적함수(Objective function)

h _ { \scriptscriptstyle i } : 제약조건(Constraints)

X : ( :요소밀도)

M : 제약조건 개수

midas NFX가 제공하는 위상최적화의 문제구성은 목적함수에 따라 표 5.11.1과같이 분류할 수 있다.

표 5.11.1 목적함수에 따른 문제구성 종류

목적함수설계 제약조건관련 해석제조조건(공통)
정적 컴플라이언스(최소)부피비· 선형 정적 해석· 성형 방향· 대칭 조건(1~3축 대칭)
동적 컴플라이언스(최소)부피비· 주파수 응답 해석
부피비(최소)변위/응력/피로/모드· 선형 정적 해석· 주파수 응답 해석(변위제약)· 피로 해석· 모드 해석
평균 고유치(최대)부피비· 모드 해석

• 정적 컴플라이언스(static compliance)

정적 컴플라이언스는 요소밀도에 대한 함수로, (5.11.2)와 같이 전체변형에너지의형태로 표현된다.


c _ {s} = \mathbf {f} ^ {\mathrm{T}} \mathbf {u} = \mathbf {u} ^ {\mathrm{T}} \mathbf {K} \mathbf {u} = \sum_ {e = 1} ^ {N} u _ {e} ^ {\mathrm{T}} k _ {e} \left(x _ {e}\right) u _ {e} \tag {5.11.2}
f : 하중 벡터

전체 및 요소 변위 벡터

전체 및 요소 강성 행렬

정적 컴플라이언스의 민감도는 (5.11.2)에 보조변수법(adjoint method)을 적용하여 (5.11.3)과 같이 표현된다.


\frac {\partial c _ {s}}{\partial x _ {e}} = 2 \frac {\partial \mathbf {f} ^ {\mathrm{T}}}{\partial x _ {e}} \mathbf {u} - \mathbf {u} ^ {\mathrm{T}} \frac {\partial \mathbf {K}}{\partial x _ {e}} \mathbf {u} \tag {5.11.3}

(5.11.3)에 포함된 하중에 대한 민감도는 중력이나 회전 관성력과 같이 요소밀도에 따라 하중이 변하는 체적력 형태의 하중에 대해서 존재한다.

- 동적 컴플라이언스(dynamic compliance)

동적 컴플라이언스는 주파수응답과 같은 복소수 응답에 대한 컴플라이언스를 정의하기 위한 것으로 (5.11.4)와 같이 복소수의 크기 형태로 표현된다.


\boldsymbol {c} _ {d} = \left| \mathbf {f} ^ {\mathrm{T}} \mathbf {u} \right| \tag {5.11.4}

동적 컴플라이언스의 민감도는 보조변수법을 적용하고, 컬레복소수(conjugate complex number) 표현을 도입하여 (5.11.5)와 같이 표현된다.


\frac {\partial c _ {d}}{\partial x _ {e}} = \Re \left[ \frac {\overline {{{\mathbf {f}}}} ^ {\mathrm{T}} \overline {{{\mathbf {u}}}}}{\left| \mathbf {f} ^ {\mathrm{T}} \mathbf {u} \right|} \left(2 \frac {\partial \mathbf {f} ^ {\mathrm{T}}}{\partial x _ {e}} \mathbf {u} - \mathbf {u} ^ {\mathrm{T}} \frac {\partial \mathbf {S}}{\partial x _ {e}} \mathbf {u}\right) \right] \tag {5.11.5}

S : 동적 유효강성 : -\omega^{2}M + i\omega C + K , (5.4.13) 참고

\overline{f}, \overline{u} : f, u 의 콜레복소수

\Re[\Box] : 복소수의 실수부

- 평균 고유치

설계 모드의 고유치에 대한 평균값은 (5.11.6)과 같은 고유치의 역수 형태 (reciprocal formulation ^{12} )를 이용한다.


\Lambda = \left(\sum_ {i = 1} ^ {m} \frac {w _ {i}}{\lambda_ {i}}\right) ^ {- 1} \tag {5.11.6}

Λ : 평균 고유치

\lambda_{i} : i 번째 고유치

w_{i} : i 번째 고유치에 대한 가중치

m : 설계 모드 개수

평균 고유치의 민감도는 고유치 민감도를 이용해 (5.11.7)과 같이 표현할 수 있다.


\frac {\partial \Lambda}{\partial x _ {e}} = - \Lambda^ {2} \sum_ {i = 1} ^ {m} \frac {w _ {i}}{\lambda_ {i} ^ {2}} \left(\frac {\partial \lambda_ {i}}{\partial x _ {e}}\right) \tag {5.11.7}

(5.11.7)의 모드별 고유치 민감도는 중복고유치가 아닌 경우 (5.11.8)과 같이 해당 모드의 고유벡터와 요소강렬 및 질량행렬로 표현된다.


\frac {\partial \lambda_ {i}}{\partial x _ {e}} = \phi_ {i} ^ {\mathrm{T}} \left(\frac {\partial \mathbf {K}}{\partial x _ {e}} - \lambda_ {i} \frac {\partial \mathbf {M}}{\partial x _ {e}}\right) \phi_ {i} \tag {5.11.8}

- 부피비 (volume fraction)

부피비는 전체 설계 영역의 부피 대비 최종 재료분포가 결정된 상태의 부피의 비율을 의미한다. 동일한 재료분포인 경우 질량비나 무게비와 동일하다. 위상최적화의 설계변수가 요소의 밀도이기 때문에 부피비에 대한 민감도는 설계영역 전체부피 대비 해당 요소의 원래 부피의 비율로 표현할 수 있다.


\frac {\partial (V (\mathbf {x}) / V _ {0})}{\partial x _ {e}} = \frac {\partial \left(\sum_ {e = 1} ^ {N} v _ {e} x _ {e} / V _ {0}\right)}{\partial x _ {e}} = \frac {v _ {e}}{V _ {0}} \tag {5.11.9}

V_{0} : 설계영역 전체 부피

V : 요소밀도가 반영된 설계영역 전체 부피

v_{e} : 요소 e 의 부피

5.11.2 재료 보간 방법

재료 보간 방법(material interpolation scheme)은 위상최적화 과정 중 요소밀도가 "0"이나 "1"이 아닌 중간값을 가질 때 실재 재료의 물리적인 강성이나 요소밀도에 따른 질량을 보정하기 위해 도입된다. midas NFX에서는 표 5.11.2의 두가지 방법을 선택적으로 적용한다.

표 5.11.2 재료 보간 방법

SIMPsolid isotropic material with penalizationRAMP13rational approximation of material properties
보간식 $k_{e}(x_{e}) = x_{e}^{p} k_{e0}$ $k_{e}(x_{e}) = \frac{x_{e}}{1 + q(1 - x_{e})} k_{e0}$
미분식 $\frac{\partial k_{e}}{\partial x_{e}} = px_{e}^{p-1} k_{e0}$ $\frac{\partial k_{e}}{\partial x_{e}} = \frac{1 + q}{[1 + q(1 - x_{e})]^{2}} k_{e0}$
관련해석선형 정적모달, 주파수 응답
벌칙계수 $p = 3.0 \sim 4.0$ $q = 5.0 \sim 6.0$

line
Material density, x_e Young's modulus ratio (p=1.0 or q=0.0) Young's modulus ratio (p=3.0) Young's modulus ratio (q=5.0)
0.0 0.0 0.0 0.0
0.2 0.2 0.05 0.03
0.4 0.4 0.15 0.08
0.6 0.6 0.25 0.15
0.8 0.8 0.45 0.30
1.0 1.0 1.0 1.0

그림 5.11.1 재료보간모델별 밀도에 따른 강성비

5.11.3 최적화 기준법

최적화 기준법(optimality criteria: OC)은 (5.11.1)로 정의한 최적화 문제에서 제약조건을 라그랑지 승수와 함께 목적함수에 포함시켜 제약조건 없는 최적화 문제(unconstrained optimization problem)로 구성하고, 새로 구성된 목적함수의 미분값이 0이 되는 조건(Karush-Kuhn-Tucker(KKT) conditions)을 찾는 방법이다.


\frac {\partial c}{\partial x _ {e}} + \sum_ {i = 1} ^ {M} \mu_ {i} \frac {\partial h _ {i}}{\partial x _ {e}} = 0 \tag {5.11.10}

\mu _ { i } \qquad : \exists { \sf I } \exists \stackrel { \exists } { \circ } \pi | \ \underset { 0 } { \widehat { \circ } } \pi |

Bendsøe는 제약조건이 하나만 있는 경우 최적화 기준법을 이용한 경험적 설계변수 업데이트 방법14을 다음과 같이 제안하였다.


x _ {e} ^ {\text { new }} = \left\{ \begin{array}{l l} \max \left(x _ {\min}, x _ {e} - m\right) & \text { if } x _ {e} B _ {e} ^ {\eta} \leq \max \left(x _ {\min}, x _ {e} - m\right) \\ x _ {e} B _ {e} ^ {\eta} & \text { if } \max \left(x _ {\min}, x _ {e} - m\right) \leq x _ {e} B _ {e} ^ {\eta} \leq \min \left(1, x _ {e} + m\right) \\ \min \left(1, x _ {e} + m\right) & \text { if } \min \left(1, x _ {e} + m\right) \leq x _ {e} B _ {e} ^ {\eta} \end{array} \right. \tag {5.11.11}

η : 수치적인 감쇠(numerical damping, 0 < η ≤ 0.5)

m : 업데이트 제한 길이(0 < m ≤ 0.65)

x_{e}^{new} : 업데이트된 밀도


B _ {e} \quad : - \frac {\partial c}{\partial x _ {e}} / \mu \frac {\partial h}{\partial x _ {e}} (= 1 \text {   at   optimality })

5.11.4 이동 접근선 기법

이동 점근선 기법(method of moving asymptotes: MMA) ^{15} 은 (5.11.1)로 정의한 최적화 문제를 아래의 (5.11.12)와 같은 점근선 근사함수로 표현한다.


f _ {i} ^ {(k)} (\mathbf {x}) = \sum_ {j = 1} ^ {n} \left(\frac {p _ {i j} ^ {(k)}}{u _ {j} ^ {(k)} - x _ {j}} + \frac {q _ {i j} ^ {(k)}}{x _ {j} - l _ {j} ^ {(k)}}\right) + r _ {i} ^ {(k)} \tag {5.11.12}

이때 접근선 근사함수는 분리된 볼록함수(convex separable function)이기 때문에 각 설계변수는 아래와 같이 라그랑지 승수로 표현이 가능하다.


x _ {j} (\boldsymbol {\lambda}) = \min \left\{\max \left\{\frac {\left(p _ {0 j} + \boldsymbol {\lambda} ^ {T} \mathbf {p} _ {j}\right) ^ {1 / 2} l _ {j} + \left(q _ {0 j} + \boldsymbol {\lambda} ^ {T} \mathbf {q} _ {j}\right) ^ {1 / 2} u _ {j}}{\left(p _ {0 j} + \boldsymbol {\lambda} ^ {T} \mathbf {p} _ {j}\right) ^ {1 / 2} + \left(q _ {0 j} + \boldsymbol {\lambda} ^ {T} \mathbf {q} _ {j}\right) ^ {1 / 2}}, \alpha_ {j} \right\}, \beta_ {j} \right\} \tag {5.11.13}

보통의 위상최적화 문제에서는 설계변수의 개수가 제약조건의 개수보다 매우 많기 때문에 (5.11.13)와 같은 업데이트 방법을 이용하여 효율적인 해탐색이 가능하다. 또한, OC와 달리 사용할 수 있는 제약조건의 개수가 한정되지 않기 때문에 일반적으로 위상 최적화의 최적점 탐색 기법으로 널리 사용된다.

5.12 치수최적화

치수최적화(size optimization)에서는 재료 혹은 특성 등의 사용자가 조절할 수있는 파라미터들을 설계변수(design variable)로 지칭한다. 이때 시스템의 성능특성들을 설계응답(design response)이라 한다. 치수최적화는 사용자가 원하는성능 특성을 갖는 시스템을 설계하기 위한 설계변수(design variable)들의 조합을찾는 것을 그 목적으로 한다.

midas NFX 에서는 비선형 해석이나 대규모 해석을 수반하는 시스템의 최적화에용이한 근사모델기반 치수최적화를 기본적으로 제공한다. 근사모델기반 치수최적화의 전체적인 과정은 1) 실험점의 추출, 2) 근사모델의 생성, 3) 근사모델로표현된 최적화 문제의 풀이로 진행된다.

5.12.1 실험점 추출

• 실험계획법 (Design of Experiments, DOE)

설계변수와 설계응답의 관계에 대해서 탐색하는 과정을 실험점 추출(designsampling)을 통해 수행한다. 실험점 추출은 여러 설계변수들의 조합에 대한 설계응답들을 평가하여, 설계변수의 주효과(main effect) 혹은 각 설계변수들의 교호작용들을 파악한다. midas NFX에서는 실험점추출의 도구로써 다양한 실험계획법을 제공한다.

► 일차원 파라미터 스터디 : 특정한 한 설계변수를 변동시키고 다른 설계변수들을 고정시키며 설계응답을 관찰한다. 이를 통해 한 설계변수에 대한 설계응답들의 특성을 살펴볼 수 있다. 실험점의 개수는 사용자가 직접 정의할 수 있다.
► 완전요인 계획법 : 각 설계변수에 대해 2수준 혹은 3수준에 대한 모든 조합을관찰한다. 실험점의 개수가 설계변수의 개수에 대해 기하급수적으로 증가하는차원의 저주(curse of dimensionality)가 발생할 수 있다.
► 중심합성 계획법 : 각 설계변수에 대한 2수준의 부분요인 계획법(fractional