자연계에서 발생하는 임의 현상을 실험이나 컴퓨터 시뮬레이션을 이용하여 분석하는 경우, 분석결과와 실제 현상 사이에는 반드시 차이가 존재하며 이것을 총칭하여 오차(error)로 정의하고 있다. 이 오차에는 크게 실제 현상을 실험적인 모델이나 수학적인 표현으로 전환하는 과정에서 한계성과 불확실성 등에 기인한 모델링 오차(modeling error)와 수학적 표현을 계산하는 과정에서 발생하는 수치해석 오차로 나눌 수 있다.
유한요소 해석(finite element analysis)에 있어 수치해석 오차는 수학적인 표현을 급수형태의 함수를 도입하여 근사적으로 푸는 근본적인 원리에 기인한다. 급수형태의 함수에 있어 정확한 답을 계산하기 위해서는 급수의 무한차수 항까지 포함시켜야 하는데 이것은 현실적으로 불가능한 일이다. 예를 들어, 우리 생활과 아주 밀접한 전자계산기도 여러 가지 복잡한 함수들을 급수형태로 전개하여 근사적인 해답을 제공한다. 이 경우, 몇 차수까지 포함시키느냐에 따라 계산기의 정확도가 결정된다. 하지만 최근 컴퓨터 성능의 급속한 발전으로 이러한 한계성은 많이 극복되고 있다.
한편, 이러한 근사해법 자체 외에도 수치해석 오차에 영향을 미치는 인자들이 많이 존재한다. 예를 들어, 실제 현상에 관여하는 재료 물성치(material property)의 정확성, 거동과 관련된 각종 경계조건(boundary condition)과 구속조건, 그리고 수치해석 기법과 관련된 유한요소의 크기(element size)와 시간 간격(time step) 등과 같은 파라메터 등이다.
주어진 조건 속에서 유한요소 해석의 수치해석 오차를 줄이는 가장 일반적인 방법은 요소 크기(element size) (h)와 요소 차수(element order) (p) 그리고 시간간격(dt)을 줄이는 것이다. 그리고 이러한 파라메터를 적절히 조정하여 수치해석 오차를 줄여가는 기법으로 적응적 유한요소해석(adaptive finite element analysis)이 있다.
.유한요소해석(finite element analysis)에는 하나의 해석작업을 완료한 후 다른 해석작업을 연이어 순차적으로 수행해야 할 경우가 있다. 각각의 해석은 이전 단계 해석의 결과로부터 시작되어야 함은 물론 서로 다른 해석 조건을 적용하여야 하기 때문에 엄밀한 의미에서 각각의 해석은 하나의 개별적이고 독립된 해석문제로 볼 수도 있다.
예를 들어, 자동차 타이어가 일정한 속도로 주행하는 문제를 시뮬레이션 하기 위해서는 정지상태에서 타이어를 림(rim)에 조립하는 과정, 타이어에 일정한 내압을 가하는 과정, 타이어를 수직방향으로 눌러서 지면과 접촉시키는 과정, 그리고 일정한 속도로 회전시키는 과정을 순차적으로 시뮬레이션 해야 한다.
이러한 해석이 순차적으로 수행되기 위해서는 이전 단계에서 계산된 물체의 거동이 다음 단계 해석을 위한 초기 조건으로 반영되어야 한다. 이를 위해서 이전 단계 해석의 마지막 시점에서의 결과가 모두 저장되어 있어야 함은 물론이고, 각종 해석 조건들이 새롭게 갱신되어야 한다. 이러한 작업을 해석자가 손수 처리한다는 것은 매우 번잡할뿐더러 사용하고 있는 해석 프로그램의 출력 및 입력 파일을 편집해야 하는 어려움이 따른다.
재시작 기능은 이러한 문제점을 해결하기 위해 프로그램이 제공하는 하나의 특수한 해석 기능이다. 재시작 기능을 이용하면 임의의 순차적인 물체거동을 효과적으로 시뮬레이션 할 수 있기 때문에, 최근 들어 활용빈도가 증가하고 있는 추세이다.
.컴퓨터를 이용하여 어떠한 프로그램을 실행하다 보면 오류 메시지를 경험하게 된다. 그리고 일단 오류 메시지가 발생하게 되면 프로그램은 중단되어 수행하던 작업은 실패로 끝나고 만다. 오류(error)와 유사한 메시지로 경고(warning)가 발생하는 경우도 있는데, 오류메시지와는 달리 프로그램은 중단되지 않고 수행하던 작업은 성공적으로 마무리 된다.
오류는 컴퓨터 상에서 각종 논리(logic) 혹은 계산(calculation)과정에서 연산이 불가능한 상태가 발생하였을 때 프로그램이 내보내는 메시지이다. 하지만, 경고는 연산작업에는 아무런 이상이 없지만 원하는 해답을 구하는데 있어 예상되는 문제점을 지적해 주는 메시지이다.
경고 메시지는 프로그램을 만드는 과정에서 프로그램에 적용된 각종 이론들이나 경험을 토대로 준비된 메시지이기 때문에 때로는 무시하여도 무방하다. 왜냐하면 프로그램을 작성할 당시에는 문제시 되었던 사항들이 최근에 와서는 문제가 되지 않는 경우들이 연구결과를 통해 밝혀지기도 하기 때문이다.
유한요소해석(finite element analysis)에 있어 한 예로 요소의 뒤틀림이 심하면 오류 메시지를 경험하게 되고 프로그램은 중단하게 된다. 하지만 요소의 형상 종횡비(geometry aspect ratio)가 일정한 값을 초과할 경우에 경고 메시지가 발생하지만 해석수행에는 큰 문제가 되지 않는다. 더구나 최근의 연구결과에 따르면 형상종횡비가 커지게 되면 오차(error)는 다소 증가하지만 해의 특이성(singularity)을 보다 정확하게 계산할 수 있다는 사실이 밝혀졌다. 오류 메시지가 발생하면 반드시 이 오류를 해결하여야 하지만, 경고 메시지에 대해서는 꼼꼼히 따져보고 반드시 해결해야 할 것들과 무시해도 될 것들을 구분할 수 있어야 한다.
.정확한 것과 정확하지 않은 것과의 차이를 통칭하여 오차(error)라고 부른다. 오차를 말하기 위해서는 정확한 것이 명확히 정의되어야 하고, 또한 정확하지 않은 것과의 차이를 정의하는 방법이 결정되어야 한다.
정확한 것의 정의와 정확하지 않은 것과의 차이를 정의하는 방법은 대상과 목적에 따라 각기 다르다. 예를 들어, 양궁 경기에 있어서 정확한 것은 과녁의 중앙 즉, 10점에 해당되는 가운데 영역을 맞히는 것이다. 그리고 정확하지 않은 것은 이 영역을 벗어난 과녁의 나머지 영역을 맞히는 것이다. 이 경우, 오차는 10점과 정확하지 않은 영역에 지정되어 있는 점수와의 차이로 계산된다.
한편, 유한요소 해석(finite element analysis)에 있어 정확한 것은 해당 문제에 대한 이론적인 정해(exact solution)를 의미하며, 정확하지 않은 것은 이론적으로 구한 것이 아닌 수치해석적으로 구한 근사해(approximate solution)를 의미한다. 그리고 오차는 정해와 근사해와의 차이로 일반적으로 좌표 혹은 시간의 함수로 표현된다. 하지만 이것은 개념적인 의미이고 보다 실제적인 의미에서의 오차는 그 차이를 어떻게 정의하는냐에 따라 다양하다.
예를 들어 물체의 변형(deformation), 변형률(strain) 및 응력(stress)을 계산하는 경우를 생각해 보자. 물체 내 최대 변형값의 차이를 오차로 정의할 수도 있고, 최대 응력값의 차이를 오차로 정의할 수도 있다. 전자의 경우는 물체의 최대 변형이 관심이 되는 경우이고 후자는 물체의 강도가 관심이 되는 경우이다. 이처럼 유한요소 해석에서 오차의 정의는 유한요소 해석을 수행하는 목적에 따라 결정된다. 다시 말해 동일한 해석문제에 있어서도 해석의 목적이 달라지면 오차 정의도 그에 따라 달라질 수 있다.
.유한요소 해석(finite element analysis)을 수행하기 전에 선행되어야 할 작업들 중 하나인 요소망(mesh)은 CAE 프로그램의 자동 요소망 생성 기능을 이용하거나 혹은 해석자가 직접 생성할 수 있다. 전자를 자동 요소망 생성이라고 하고 후자를 수동 요소망(manual mesh) 생성이라고 부른다. 물체의 형상이 그다지 복잡하지 않은 경우에는 수동으로 요소망을 생성하는 것이 형상 종횡비(aspect ratio)가 높은 요소나 과도하게 찌그러진 요소(distorted element)를 예방할 수 있어 높은 정확도의 해석결과를 확보할 수 있다.
하지만 물체의 형상이 복잡한 경우에 해석자가 직접 요소망을 생성하는 것은 엄청난 시간과 노력이 요구되기 때문에 비현실적 일뿐더러 대부분의 경우 구현이 불가능하다. 따라서 실무에 있어 대부분의 유한요소 해석은 자동 요소망을 채택하고 있다. 하나의 요소망은 물체의 외곽에서부터 내부로 요소를 채워나가는 방식으로 생성된다.
그리고 최근 요소망 생성기법의 발달로 형상종횡비나 찌그러짐으로 문제가 되는 경우는 거의 없을뿐더러, 해석자가 임의로 요소망 밀도(mesh density, 혹은 요소 크기)를 조절할 수도 있고 또한 국부적으로 요소망을 조밀하게 생성할 수도 있다.
하지만 해석자가 간과해서는 안될 유의사항은 해석결과의 신뢰성은 요소망의 품질과 직결된다는 점과 해석하고자 하는 문제에 대해 어떠한 요소망이 최적인지를 판별할 수 있는 능력을 갖추고 있어야 한다는 점이다.
.어떠한 물체의 거동을 컴퓨터를 활용하여 재현하는 것을 컴퓨터 응용 시뮬레이션(computer-aided simulation)이라고 부른다. 이러한 시뮬레이션에 있어서 대상 물체의 형상을 컴퓨터 모니터 상에 가시화하기 위해서는 그 형상을 화면 상에 재현해야 한다.
이러한 가시화를 위한 제반 작업을 형상 모델링이라고 한다. 대상이 되는 물체의 형상 모델링은 물체 각 지점의 좌표 값으로 구현이 되고, 이러한 작업을 전문적으로 처리하는 소프트웨어를 총칭하여 CAD(computer-aided design) 프로그램이라고 한다. CAD 프로그램의 주요 기능은 물체 형상의 가시화, 도면화, 구성 부품들의 조립과정 분석, 실제 제작을 위한 형상 데이터 제공, 부품 및 조립품의 동작상태 재현 등이다. 하지만, 일부 CAD 프로그램에는 이러한 기능들 외에 변형(deformation), 응력(stress), 온도분포 등과 같은 물체의 거동을 수치해석(numerical analysis)적으로 분석하는 유한요소해석 기능이 포함되어 있다.
이처럼, CAD 프로그램에 탑재되어 있는 유한요소 해석 프로그램을 특별히 CAD내재 해석시스템이라고 부른다. 하지만 CAD 기능이 주가 되고 해석이 차지하는 비중은 상대적으로 낮다. 이러한 시스템은 CAD 프로그램에서 바로 유한요소 해석(finite element analysis)을 수행할 수 있다는 간편함을 제공하지만, 해석 기능이 주가 아니기 때문에 유한요소 해석의 유형과 범위가 한정적이라는 단점을 안고 있다.
참고로 유한요소 해석시스템은 크게, 오픈형 해석시스템(open system), 통합형 해석시스템(integrated analysis system) 그리고 CAD내재 해석시스템으로 구분된다.
.임의 단면을 가진 가느다란 물체에 힘을 가하여 잡아당기면 물체는 힘을 받는 방향으로 늘어난다. 그리고 프와송 효과(Poisson’s effect)에 의하여 물체의 단면적은 감소한다. 외부 하중에 저항하는 물체 내부의 저항력인 응력(stress)은 하중을 물체의 단면적으로 나눈 값으로 정의된다. 하지만 물체의 단면적은 하중이 증가할수록 점차적으로 감소한다.
가느다란 금속 판을 한 방향으로 하중을 가하여 응력을 측정하는 경우를 예로 들어 보자. 물체의 단면적을 물체가 변형되기 전 초기 단면적으로 외부 하중을 나누어 응력값을 계산하는 방법과 변형에 의해 감소된 실제 단면적으로 응력값을 계산하는 두 가지 방안이 있을 수 있다. 전자의 방법으로 구한 응력을 공칭응력이라고 부르고, 후자의 방식으로 구한 응력을 진응력(true stress) 이라고 부른다. 당연히 진응력이 정확한 의미의 응력이고, 변형이 커질수록 두 값의 차이도 커진다. 특히, 물체가 끊어지기 직전에는 단면적이 매우 작아지기 때문에 진응력은 매우 큰 값이 되는 반면 공칭응력은 단면적의 감소를 반영하지 않기 때문에 하중 증가만큼 증가할 뿐이다.
하지만 실제 상황에서 이처럼 극단적인 경우는 그다지 많지 않고, 대부분의 경우 변형량은 크지 않다. 따라서 공칭응력을 많이 사용하고 있는 실정이다. 유한요소 해석(finite element analysis)에서 선형해석으로 구한 응력값은 공칭응력에 해당되고, 비선형 해석(nonlinear analysis)으로 구한 응력은 진응력에 해당된다고 볼 수 있다. 왜냐하면, 전자는 변형되기 전 초기 물체의 형상을 기준으로 단 한번의 계산으로 응력을 구하기 때문에 물체의 변형이 반영될 수 없다. 하지만 비선형 해석에서는 하중을 조금씩 증가시키면서 반복적으로 변형률(strain)과 응력을 계산하기 때문에 물체의 변형이 반복계산 과정에서 반영될 수 있기 때문이다.
.자연계에서 발생하는 물리적 현상들 중에는 물체의 기하학적 형상, 거동 혹은 재질 등이 반드시 만족해야 하는 구속조건(constraint)을 가지는 경우가 있다. 이러한 문제를 이론적으로 푸는 경우에는 이 구속조건을 정확히 반영할 수 있지만, 유한요소 해석(finite element analysis)과 같은 수치해석(numerical analysis)에서는 정확하게 만족시키기 어렵기 때문에 근사적으로 만족시키는 벌칙기법(penalty method)이 보편적으로 사용되고 있다.
하지만 구속조건을 정확하게 만족시켜야 하는 문제에 대해서는 라그랑지 승수법을 적용하면 가능하다. 이 기법은 라그랑지 승수(Lagrange multiplier)를 구속조건에 대한 미지수로 추가하여 물리적 현상을 수치해석적으로 풀게 된다. 그 결과 행렬방정식의 크기가 증가할뿐더러 해석에 걸리는 시간도 증가하는 단점을 안고 있다. 이 기법의 물리적 의미는 라그랑지 승수라는 가상의 힘을 구속조건이라는 물리량에 가하여 이들의 곱을 물체의 내부 에너지에 더하는 것이다. 구속조건을 근사적으로 만족시키는 벌칙기법과는 서로 상반되는 장단점을 지니고 있다. 참고로 구속조건의 개수만큼 미지수의 개수도 증가한다.
예를 들어 해석 대상의 물체가 비압축성(incompressibility) 재질이라면 이 조건을 만족시키기 위해서는 각 유한요소(finite element), 유한요소 내 각 절점(node) 혹은 각 수치 적분점(integration point) 마다 구속조건을 적용해야 하기 때문에 미지수의 크기는 엄청나게 증가하게 된다. 하지만 벌칙기법에서는 구속조건의 개수와 무관하게 미지수가 증가하지 않기 때문에 구속조건에 따른 미지수 증가가 문제시 되는 경우에 매우 효과적이다.
.구조물이 힘이나 모멘트를 받으면 그 형상이 변함과 동시에 내부에는 저항력인 응력(stress)이 발생하게 된다. 그런데, 물체의 변형(deformation)과 응력은 항상 특정한 관계를 유지하고 있다. 우리가 잘 아는 바와 같이 응력은 변형의 정도를 나타내는 변형률(strain)에 물체의 강성을 곱한 값으로 표현되고, 이 관계를 후크의 법칙(Hooke’s law)이라고 부른다. 이 법칙을 구조물의 변형과 응력과의 관계를 구성하는 구성 방정식이라고 부른다. 이러한 구성 방정식은 보존법칙(conservation law)과 더불어 물체 거동에 대한 수학적 표현식을 유도하기 위해 필요한 두 가지 핵심 요건이다.
자연계에서 발생하는 모든 현상은 이러한 구성 방정식을 지니고 있다. 열전달 현상에서는 온도 구배와 열유속(thermal flow)과의 관계를 표현하는 퓨리에 법칙(Fourier law)이 이에 해당되며, 다공질 매질(porous media) 속을 통과하는 유동은 다시의 법칙(Darcy’s law)에 의해 압력과 특정한 관계를 가지게 된다. 이러한 구성 방정식은 거의 대부분 수많은 과학자들이 자연계 현상을 실험적으로 연구하는 과정에서 밝혀내었으며, 현대 과학의 기틀을 마련하였을 뿐만 아니라 유한요소해석(finite element analysis)의 근간을 이루고 있다.
구성 방정식에는 물체 고유의 성질인 재료 물성치(material property)로 표현되며, 이러한 값들은 실험을 통해 구해진다. 후크의 법칙은 물체의 탄성계수(elastic modulus)와 프와송 비(Poisson’s ratio)에 의해, 그리고 퓨리에 법칙은 열전달 계수(thermal conductivity)로 표현된다.
.