서로 다른 결과를 확인하기 위해 두 가지 모델링 프로그램을 사용할 수 있습니까?


8

컴퓨터 모델

컴퓨터 모델링은 다양한 엔지니어링 분야에서 사용됩니다. 구조 분석 또는 유한 요소 분석 (FEA)을 구체적으로 고려하고 있습니다. 때로는 모델을 사용하여 수동으로 수행 할 수있는 반복 계산 속도를 높일 수 있습니다. 때로는 모델을 사용하여 손으로하기가 어렵거나 불가능한 계산을 수행 할 수도 있습니다.

확인 중

컴퓨터 모델의 결과를 확인하는 몇 가지 표준 방법이 있습니다.

  • 검증 모델을 실행하고 결과가 이전에 계산 된 답변과 일치하는지 확인하십시오.
  • 수작업 계산으로 확인할 수있는 간단한 모델을 실행하십시오.
  • 실제 모델을 테스트하십시오.

위의 첫 두 가지 검사 방법의 문제점은 특정 상황 만 검사하거나 프로그램의 간단한 부분 만 검사한다는 것입니다.

실제 모델 방법은 전체 크기 모델의 경우 비쌀 수 있으며 스케일 모델은 항상 전체 크기와 동일한 결과를 제공하지 않을 수 있습니다.

결과를 확인할 수있는 간격이 남습니다. 복잡한 모델의 경우 프로그램 결과가 올바른지 쉽게 확인할 수있는 방법이 없습니다. 엔지니어는 소프트웨어가 모델에서 올바른 결과를 생성했음을 신뢰해야합니다.

비교 점검

이 모델은 서로 다른 회사에서 만든 두 개의 다른 프로그램에 입력 할 수 있습니다. 두 모델의 결과가 충분히 유사하면 사용 된 모델에 대한 결과가 정확해야한다는 가정이 있습니다. 원래 모델을 만들 때 오류가 발생하지 않지만 소프트웨어 구현에서는 오류가 발생합니다.

  • 모델 결과의 "정확성"을 확인하기 위해 두 개의 별도 프로그램을 사용할 수 있습니까?
  • 두 개의 개별 프로그램에서이 모델 비교 방법을 사용하면 다른 검사 방법과 동일한 수준의 결과를 보장 할 수 있습니까?
  • 이 절차를 사용할 때의 단점은 무엇입니까?

"우주 왕복선"은 5 대의 비행 컴퓨터를 사용하여 궤도로 이동했습니다. 이 중 4 개는 동일한 프로그램을 실행하여 서로의 결과를 확인하고 제정신 인 사이에 합의하고 미친 사람을 투표했습니다. 다섯 번째 컴퓨터는 다른 팀이 독자적으로 작성한 완전히 다른 프로그램을 실행했습니다. '만약' 그것이 필요한지 모르겠습니다.
Russell McMahon

두 컴퓨터 프로그램 모두 같은 방식으로 잘못되었을 수 있으므로 아니요라고 대답합니다. 이것은 좋은 습관이 아닙니다. 수치 솔루션을 솔루션이 알려진, 분석, 실험 또는 공개 된 연구를 통해 비교하는 것이 좋습니다.
Paul

@Paul 네, 이것이 일반적으로 확인되는 방법이지만 프로그램이 해당 문제에 대해 작동한다는 것을 보여줍니다 . 동일한 코드 경로를 사용하는 다른 구성도 올바른지 여부를 가정 할 수 있지만 항상 우세한 경우가 있습니다. 두 개의 개별 프로그램을 사용하는 데 포함 된 가정은 프로그래머가 다른 경우에 오류가 있다는 것 입니다.
hazzey

답변:


7

예, 다른 의견을 얻는 것이 유용 할 수 있습니다. 이것은 정확한 솔루션을 알 수없는 일기 예보에서 일상적으로 수행되며 다양한 요소를 적용하는 방법에 대한 판단이 있습니다.

유한 요소 메쉬 응력 분석과 같은 문제에는 흔들림이 줄어 듭니다.이를 해결하기위한 반복 방정식은 소프트웨어를 작성한 사람에 관계없이 기본적으로 동일하기 때문입니다. 실제 문제는 처음에는 충분한 메쉬를 만드는 것만 큼 메쉬를 해결하는 것이 아닙니다.

따라서 여러 의견을 얻는 한 가지 방법은 메쉬 매개 변수를 변경하는 것입니다. 바라건대 여전히 똑같은 대답을 얻을 수 있기를 바랍니다. 메쉬를 2 배 더 세밀하게 만들고 크게 다른 대답을 얻는다면 원래 메쉬가 상세하지 않다는 강력한 단서가됩니다. 또한 더 자세한 메쉬를 만들지 않고 같은 대답을 얻지 않고 다음 메쉬가 충분히 상세하다는 것을 알 수 없습니다.

물론 오늘날 메시 생성 자체는 다소 자동화되고 적응 적입니다. 이것은 더 이상 메시를 해결하는 물리학에 관한 것이 아니라 언제 어떻게 세분화 할 지에 대한 휴리스틱을 포함합니다. 이와 관련하여 다른 소프트웨어가 다를 수 있으므로 동일한 초기 데이터로 두 개의 다른 프로그램을 실행하면 유용 할 수 있습니다.


6

시뮬레이션 소프트웨어를 개발하는 엔지니어의 관점에서 이것을 씁니다.

설명 된 방법이 잘못되었다고 생각하고 결과를 "확인"하기 위해 두 개의 다른 소프트웨어를 사용하지 않는 것이 좋습니다.

일반적으로 두 가지 모델링 소프트웨어를 사용하여 유사성 이외의 많은 것을 확인할 수는 없습니다. 두 소프트웨어는 특히 비슷한 모델을 사용하는 경우 두 가지 유사하지만 오답을 쉽게 얻을 수 있습니다. 나는 이것이 사실 인 적어도 하나의 사례를 생각할 수 있으며 Trevor Archibald는 다른 사례를 언급했다. 비슷한 결과를 얻는 다른 모델링 기술을 사용하는 두 소프트웨어에 더 감명을 받았습니다.

이 주제를 컴퓨터 모델의 검증 및 검증이라고하며 상당히 광범위한 문헌이 있습니다. 기본에 대한 스케치를 제공하겠습니다. 검증은 모델을 "정확한"솔루션 (수동 계산 또는 더 복잡한 작업 일 수 있음), 즉 소프트웨어의 수학 검사와 비교합니다. 정확한 솔루션의 가정은 틀릴 수 있지만 최소한 소프트웨어가 수학 부분을 제대로 이해하고 싶을 것입니다. 유효성 검사는 모델과 실험을 비교합니다. 이를 통해 사용중인 모델이 정확한지 확인할 수 있으며 이는 검증 할 수없는 것입니다.

위의 첫 두 가지 검사 방법의 문제점은 특정 상황 만 검사하거나 프로그램의 간단한 부분 만 검사한다는 것입니다.

이것은 소프트웨어 개발자와 사용자가 직면 한 실제 문제입니다. 서로 다른 두 소프트웨어를 비교하는 것보다 훨씬 나은 방법으로이를 처리 할 수 ​​있습니다.

문제는 가능한 모든 사례를 테스트 할 수 없다는 것입니다. 소프트웨어가 사례 A를 통과 할 수 있지만 사례 A에는 물리학 X, Y 또는 Z가 포함되지 않으므로 사례 B를 완전히 벗어나게됩니다. 따라서 원하는 것은 최소한 확인하려는 기본 기능. 많은 소프트웨어에는 기본적으로 "V & V 제품군"이 있습니다.

검증 측면에서 다양한 옵션이 있습니다. 서로 다른 경우에 대해 새로운 정확한 솔루션을 생성 할 수 있습니다. 때로는 이것만으로도 충분합니다. 그러나 알다시피, 종종 손으로 할 수있는 일은 매우 간단한 경우로 제한됩니다. 보다 일반적인 경우에는 제조 된 솔루션 (Google it) 방법이라는 기술을 사용할 수 있습니다. 프로그래밍이 필요하고 지저분해질 수 있지만 기본적으로 생각할 수있는 모든 것을 테스트 할 수 있습니다. (엉망인 부분은 MASA 와 같은 라이브러리를 통해 처리 할 수 ​​있습니다 .)

또한 Olin Lathrop이 제안한 것과 반대로 제조 된 솔루션의 방법을 사용하면 테스트 목적으로 정확한 솔루션을 생성 할 수 있습니다. 그것들은 소프트웨어가 수정없이 풀고있는 방정식을 정확하게 만족시키지 않기 때문에 엄격한 의미에서 "정확한"것은 아닙니다. 그러나 그들은 매우 가까운 방정식을 만족 시키며, 그 차이는 테스트를 엄격하게 만드는 원인이됩니다. 이 기술은 현재 널리 사용되지는 않지만 이전에는 테스트하기 어려운 것으로 생각 된 것을 테스트하는 데 사용되었습니다.

검증 측면에서 더 많은 실험 데이터를 찾거나 자신의 실험을 실행할 수 있습니다.


4

나는 이것이 전반적으로 좋은 습관이라고 생각합니다.

서로 다른 두 가지 소프트웨어를 사용하면 두 가지 종류의 오류를 피할 수 있습니다. 1) 부정확 한 소프트웨어에서 발생하는 오류 (간과해서는 안 됨), 2) 소프트웨어 사용자의 습관 부족으로 인한 오류 (숨겨진 옵션, 기본 설정 ...).

소프트웨어가 충분히 다른 경우 동일한 잘못된 결과를 두 번 얻을 가능성은 낮습니다.

그러나 잘못된 모델링 선택에서 발생하는 오류는 이런 방식으로 피할 수 없습니다. 따라서 두 가지 소프트웨어에 의해 결과가 확인 되었기 때문에 결과를 지나치게 신뢰하는 것이 주된 단점이라고 말하고 싶습니다.

여러 소프트웨어를 사용하고 평균 지식 만있는 것보다 모든 종류의 테스트 사례 (예 : 학업 결과와 비교)를 실행하는 하나의 소프트웨어를 마스터하는 것이 낫다고 생각합니다. 또한 FEM 분석의 기본 사항을 아는 것이 가장 좋으며 사용자가 모델링 오류를 재현 할 가능성이 있기 때문에 두 개의 "원 클릭 실행"소프트웨어 만 사용하는 것은 좋지 않습니다.

추신 : 전자기 / 열 FEM 분석 사용자 (다른 도메인 없음)로 쓰고 있습니다.


2

설계 엔지니어의 관점에서 대답

한 프로그램의 결과를 다른 프로그램과 비교하여 확인하면 결과가 정확한지 어느 정도 확실하게 알 수 있습니다. 100 % 확실성을주지는 않지만 그 정도의 확실성은 달성하기 어렵습니다.

내가 본 큰 문제는 한 소프트웨어에서 다른 소프트웨어로 모델을 전송할 수 있다는 것입니다. BIM으로 인해 대부분의 소프트웨어 회사에서 모델 가져 오기 / 내보내기가 개선되고 있지만 모델의 모든 기능을 내보낼 수있는 것은 아닙니다. 교환 파일에는 좌표 만 있으면되므로 형상을 가져 오기 / 내보내기가 비교적 쉽습니다. 그러나 예를 들어 멤버 엔드 릴리스는 다른 소프트웨어에 의해 매우 다르게 저장 될 가능성이 높으므로 범용 파일 교환 형식이 합의되지 않는 한 두 번째 소프트웨어 프로그램에서 모델을 완전히 재구성하려면 많은 노력이 필요할 것으로 생각됩니다.

내 경험에 따르면 결과의 오류는 잘못 작성된 소프트웨어보다 잘못된 데이터 입력 또는 잘못된 가정에서 비롯 될 가능성이 훨씬 높습니다. 따라서 독립적 인 소프트웨어를 사용하여 답변을 확인하는 데 드는 시간과 노력은 시간을 잘 활용하지 못할 수 있습니다.

소프트웨어 엔지니어의 관점에서 대답

다른 소프트웨어와 비교하여 소프트웨어를 검증한다고해서 귀하의 소프트웨어가 올바른 것으로 간주되는 것은 아닙니다. 소프트웨어가 정답을 제공하는지 확인하는 데 사용할 수있는 게시 된 데이터 / 결과를 찾는 것이 훨씬 좋습니다. 소프트웨어 회사가 소프트웨어를 엔지니어링 회사에 판매하려고하는 영업 회의를 상상해보십시오.

엔지니어 : 소프트웨어가 올바른지 어떻게 알 수 있습니까?

소프트웨어 판매원 : 글쎄, 우리는 경쟁 업체의 소프트웨어와 비교하여 동일한 답변을 얻었습니다.

엔지니어 : 경쟁 업체가 자신의 소프트웨어가 소프트웨어를 측정하는 척도라는 것보다 충분히 우수하다고 말하는 것입니까? 우리는 대신 그의 소프트웨어를 사야 할 것 같습니다!


1
실험실에서는 소프트웨어가 다른 프로그램과 비교되었다고 광고 하지 않기를 바랍니다 . 또한 소프트웨어 엔지니어는 단위 테스트에 완전히 포함되지 않은 최첨단 사례가있을 수 있다고 생각합니다.
hazzey

2

나는 일반적으로 좋은 아이디어가 될 수 있으며 시뮬레이션 결과의 정확성을 보장하는 데 도움이 될 것이라는 다른 답변과 동의합니다. 다른 검증 방법과 비교하여 그것이 얼마나 좋은지에 관해서는, 이전에 알려진 결과와 물리적 테스트가 가능한 경우 더 나은 옵션이지만 모델이 충분히 복잡한 경우 손 계산에는 과도 단순화가 필요할 수 있습니다.

내가 실제로 지적하고 싶은 것은 마지막 요점에서 다루지 않은 것입니다 :이 연습의 잠재적 약점. 두 가지 다른 FEA 패키지를 사용하면 어떤 분석이 정확하고 어느 분석이 꺼져 있는지 식별 할 수있는 경우 한 패키지의 특이성을 발견하여 오류를 일으킬 수 있습니다. 그러나 방법이나 구현에 관계없이 전체 FEA에는 몇 가지 일반적인 제한 사항이 있습니다. 모델에서 특이점을 유발하는 날카로운 모서리 및 기타 응력 집중 장치는 패키지마다 크게 달라지지 않으며 항상 약점입니다. 엔지니어링 지식과 직관이 필요한 곳입니다.

내가 알고있는 부품에 대해 특정 응력에 쉽게 견딜 수있는 시뮬레이션을 수행했으며, 모델은 내부 응력이 항복 강도의 10 배임을 보여줍니다. 인벌 류트 스플라인 패턴으로되어 있고 FEA 소프트웨어가이를 좋아하지 않기 때문에 이것은 분명히 틀립니다.

마지막으로, 소프트웨어를 변경해도 사용자 오류가 제거되지는 않습니다. 모델이나 매개 변수에 오류가 있으면 해당 모델을 분석하는 데 사용하는 것과 상관없이 오류가 발생합니다.


"불완전 스플라인 패턴"이 무엇인지 전혀 모르므로이 설명은 관련이 없을 수 있지만 10 배의 수율로 내부 응력을받는 경우 비선형 재료를 사용한 모델링이 순서대로 이루어 집니까? 그것은 극단적 인 국소 응력 집중을 제거 할 것입니다.
AndyT

이 시점에서 선형 탄성 재료 반응이나 더 기본적인 것을 사용했는지 기억이 나지 않지만 시뮬레이션이 영원히 실행되기를 원하지 않았으며 이는 FEA를 조기에 사용하는 것입니다. 그것은 본질적으로 우리가 실패 모드를 알고있는 기존 부품의 재 설계였으며, 우리가 모델을 설정하는 방법은 스플라인에 약간의 제약을가했습니다 (불완전 스플라인은 대부분의 기어 이빨 모양입니다). 좀 더 포괄적 인 분석을 수행하는 경우 분석을 시도 할 수도 있지만 기존 부품에 비해 개념 증명이 더 많았습니다.
Trevor Archibald

1

경계 조건 및 모델링 기술은 결과에 큰 영향을 미칩니다. 내가 제안하는 것은 단순화 된 / 이상화 된 버전 (평면 또는 축 대칭과 같은)과 완전한 솔리드 버전을 실행하고 둘을 비교하는 것입니다.

두 가지 FEA 소프트웨어의 문제점은 해결 과정에서 솔버가 거의 동일하다는 것입니다. 관찰 된 차이는 다른 수렴 기준 또는 경계 조건이 적용되는 방식에 대한 다른 가정에서 비롯됩니다. 모델을 확인하지 않고 각 솔버가 모델을 알 수있는 능력이 솔루션에 도달했습니다.

FEA 결과는 먼저 상식과 손으로 계산 한 다음 유사하지만 다른 모델 (예 : 빔 대신 솔리드)과 마지막으로 물리적 테스트를 통해 부품 이 FEA가 예측 하는 위치방법에 실패 하는지 확인해야 합니다. 그것의 제조 방법, 소재의 변형 및 응력 resudial 의해 infuenced 때문에 일부는 실패가 더 어렵다.


모든 공학 분야가 물리적 파괴 테스트를 수행 할 수있는 고급 스러움을 가지고있는 것은 아닙니다. 토목 및 구조 공학에서 대부분의 프로젝트는 일회성 고유 아이템을 구축하고 있습니다. 파괴하기 위해 테스트하기 위해 완전히 별도의 아이템을 구축하는 것은 엄청나게 비쌉니다!
AndyT

요점을 알았어. FEA 결과가 샘플 또는 스케일 조각을 사용하더라도 테스트를 통해 검증하는 것이 좋습니다.
ja72

나는 당신의 요점을 볼 수 있습니다 ... 그러나 6 년 동안의 다리 디자인에서 나는 다리의 스케일 모델에서 수행되는 물리적 테스트에 대해 들어 본 적이 없습니다.
AndyT

그렇다면 어느 다리를 피해야합니까? 키딩. 따라서 FEA로 모델링되지 않은 재료를 설명하기에 충분한 안전 여유가 있어야합니다. 100 % 정확한 FEA 모델과 같은 것은 없습니다.
ja72

실제로, 우리는 모든 곳에서 안전 요소를 가지고 있습니다! 영국의 표준 BS5400에는 감마 프 3 (gammaf3)라고 불리는 1.1의 계수가 포함되어 있는데, 이것은 "부하 효과, 구조에서의 예상치 못한 응력 분포 및 건설에서 달성 된 치수 정확도의 변동에 대한 부정확 한 평가를 고려한 요소"인 gammaf3입니다. " 즉, FE 분석에서 스트레스가 무엇을 의미하는지에 상관없이 보수적 가치가있는 경우를 대비하여 1.1을 곱하십시오.
AndyT
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.