Компьютерные Модели
Компьютерное моделирование используется в различных областях техники. Я специально рассматриваю структурный анализ или анализ методом конечных элементов (ВЭД). Иногда модели используются для ускорения повторяющихся расчетов, которые могут быть выполнены вручную. Иногда модели используются для выполнения вычислений, которые нелегко или даже невозможно сделать вручную.
проверка
Существует несколько стандартных методов проверки результатов компьютерных моделей.
- Запустите модели проверки и убедитесь, что результаты соответствуют ранее рассчитанному ответу.
- Запустите простые модели, которые можно проверить с помощью ручных расчетов.
- Тест физических моделей.
Проблема с первыми двумя методами проверки, приведенными выше, заключается в том, что они либо проверяют только определенные ситуации, либо проверяют только простые части программы.
Метод физической модели может быть дорогостоящим для полноразмерных моделей, а масштабные модели не всегда дают те же результаты, что и в натуральную величину.
Это оставляет пробел в том, какие результаты могут быть проверены. Для любой сложной модели нет простого способа проверить правильность результатов программы. Инженер должен верить, что программное обеспечение дает правильные результаты из модели.
Проверка сравнения
Модель может быть введена в две разные программы (сделанные разными компаниями). Предполагается, что если результаты двух моделей достаточно похожи, то результаты должны быть правильными для используемой модели. Это не будет отлавливать ошибки при создании исходной модели, но будет отлавливать ошибки при реализации программного обеспечения.
- Могут ли две отдельные программы использоваться для проверки «правильности» результатов модели?
- Будет ли использование этого метода сравнения модели в двух отдельных программах обеспечивать такой же уровень уверенности в результатах, как и любой другой метод проверки?
- Какие могут быть недостатки использования этой процедуры?
Ответы:
Да, получение второго мнения может быть полезным. Это обычно делается при прогнозировании погоды, когда точные решения неизвестны, и существует определенное мнение о том, как применять различные факторы.
Будет меньше места для маневра в чем-то вроде анализа напряжений в сетке конечных элементов, потому что итерационные уравнения для его решения будут в основном одинаковыми, независимо от того, кто написал программное обеспечение. Реальная проблема заключается не столько в решении меша, сколько в создании достаточно хорошего меша.
Поэтому один из способов получить несколько мнений - это изменить параметры сетки. Надеюсь, вы до сих пор получаете почти тот же ответ. Если вы сделаете сетку в 2 раза тоньше и получите существенно другой ответ, то это сильная подсказка, что оригинальная сетка недостаточно детализирована. Кроме того, вы не знаете наверняка, что следующая сетка достаточно детализирована, не делая еще более детальную и не получая тот же ответ.
Конечно, в настоящее время само создание сетки несколько автоматизировано и адаптивно. Это больше не просто физика решения меша, а эвристика о том, когда и как делить. Разное программное обеспечение может отличаться в этом отношении, поэтому может быть полезным запуск двух разных программ с одинаковыми исходными данными.
источник
Я пишу это с точки зрения инженера, который разрабатывает программное обеспечение для моделирования.
Я думаю, что описанная практика плохая, и я рекомендую вам не использовать два разных программного обеспечения для «подтверждения» результатов.
В общем, два разных программного обеспечения для моделирования не могут быть использованы для подтверждения чего-либо, кроме их сходства. Два программного обеспечения могут легко получить два одинаковых, но неправильных ответа, особенно если они используют похожие модели. Я могу вспомнить хотя бы один случай, когда это точно так, а Тревор Арчибальд упоминает другой. Я был бы более впечатлен двумя программами, которые используют разные методы моделирования, получая схожие результаты.
Этот предмет называется проверкой и проверкой компьютерных моделей, и у него достаточно обширная литература. Я предложу набросок основ. Верификация сравнивает модель с «точным» решением (которое может быть ручным расчетом или чем-то более сложным), то есть проверкой математики программного обеспечения. Предположения, лежащие в основе точного решения, могут быть неверными, но по крайней мере вы хотите убедиться, что программное обеспечение правильно понимает математическую часть. Валидация сравнивает модель с экспериментом. Это позволяет вам проверить, является ли используемая модель точной, что проверка не может сделать для вас.
Это реальная проблема, стоящая перед разработчиками и пользователями программного обеспечения. Есть установленные способы справиться с этим, которые намного лучше, чем сравнение двух разных программ.
Проблема в том, что вы никогда не сможете проверить все возможные случаи. Ваше программное обеспечение может проходить случай А, но случай А не включает физику X, Y или Z, и это полностью исключает случай Б. Таким образом, вам нужно большое количество проверок, которые охватывают, по крайней мере, все основные функции, которые вы хотите проверить. Многие программные продукты имеют «комплекты V & V», которые в основном именно это.
С точки зрения проверки, существует множество вариантов. Вы можете генерировать новые точные решения для разных случаев. Иногда одного этого достаточно. Однако, как вы заметили, часто то, что вы можете сделать вручную, ограничено очень простыми случаями. Для более общих случаев можно использовать метод, называемый методом готовых решений (Google it). Это требует программирования и может запутаться, но позволяет вам протестировать практически все, о чем вы могли подумать. (Часть беспорядка может быть обработана через библиотеку как MASA , между прочим.)
Кроме того, я хотел бы отметить, что вопреки тому, что предлагает Олин Латроп, с помощью метода готовых решений вы можете создавать то, что для целей тестирования являются точными решениями. Они не являются «точными» в строгом смысле, потому что они точно не удовлетворяют уравнениям, которые программное обеспечение решает без изменений. Но они удовлетворяют уравнениям, которые очень близки, и разница учитывается, чтобы сделать тест строгим. Этот метод в настоящее время не очень популярен, но он использовался для проверки того, что раньше считалось трудным для тестирования.
С точки зрения валидации, вы можете искать больше экспериментальных данных или проводить свои собственные эксперименты.
источник
Я думаю, что это хорошая практика в целом.
Используя два разных программного обеспечения, вы можете избежать двух типов ошибок: 1) ошибок, возникающих из-за неточного программного обеспечения (которые не следует упускать из виду), 2) ошибок, возникающих из-за непривычки пользователя к программному обеспечению. (скрытые параметры, настройки по умолчанию ...).
Если программное обеспечение достаточно разное, вероятность получения в два раза одного и того же неправильного результата низкая.
Тем не менее, таким образом нельзя избежать ошибок, связанных с неправильным выбором модели. Поэтому я бы сказал, что основным недостатком является чрезмерное доверие к результатам, поскольку они были подтверждены двумя программами.
Я действительно считаю, что лучше освоить одно программное обеспечение, выполняя все виды тестовых случаев (например, сравнение с академическими результатами), чем использовать несколько программ и иметь только средние знания. Более того, я думаю, что лучше всего знать основы анализа FEM, и использование только двух программ «один клик для запуска» является плохой практикой, потому что пользователи могут воспроизводить ошибки моделирования.
PS: я пишу как пользователь электромагнетизма / термического анализа FEM (никаких других доменов).
источник
Ответ с точки зрения инженера-конструктора
Сравнение результатов одной программы с другой даст вам определенный уровень уверенности в правильности результатов. Это вряд ли даст вам 100% уверенности, но тогда такой уровень уверенности трудно достичь.
Большая проблема, которую я вижу, - это возможность переноса модели из одного программного обеспечения в другое. Хотя большинство программных компаний улучшают импорт / экспорт моделей (из-за BIM), я не ожидаю, что все функции модели будут экспортируемыми. Геометрию относительно легко импортировать / экспортировать, поскольку файл обмена должен содержать только координаты. Но, например, конечные выпуски участников, скорее всего, будут храниться по-разному в разных программах, поэтому, если / пока не будет согласован универсальный формат обмена файлами, я подозреваю, что потребуется много усилий, чтобы полностью перестроить модель во второй программе.
Исходя из моего собственного опыта, ошибки в результатах гораздо более вероятны из-за неправильного ввода данных или неверных предположений, чем из-за плохо написанного программного обеспечения. Следовательно, время и усилия при использовании независимого программного обеспечения для проверки ответа, вероятно, не являются хорошим использованием вашего времени.
Ответ с точки зрения разработчика программного обеспечения
Проверка программного обеспечения по сравнению с другим программным обеспечением не считается подтверждением правильности вашего программного обеспечения. Гораздо лучше найти опубликованные данные / результаты, которые можно использовать для проверки того, что программное обеспечение дает правильные ответы. Представьте себе встречу по продажам, на которой компания-разработчик пытается продать свое программное обеспечение инжиниринговой компании:
источник
Я согласен с другими ответами здесь, что это в целом может быть хорошей идеей и поможет обеспечить точность результатов моделирования. С точки зрения того, насколько он хорош по сравнению с другими методами верификации, я бы сказал, что ранее известные результаты и физические тесты являются лучшими вариантами, если это возможно, но ручные вычисления могут потребовать чрезмерного упрощения, если модель достаточно сложна.
Что я действительно хочу отметить, так это то, что не было затронуто в последнем пункте: потенциальные слабые стороны этой практики. Использование двух разных пакетов FEA может выявить особенность одного пакета, который вызывает ошибку, при условии, что вы можете определить, какой анализ является правильным, а какой нет. Тем не менее, существуют общие ограничения FEA, независимо от метода или реализации. Острые углы и другие концентраторы напряжений, которые вызывают особенности в модели, не сильно изменятся от пакета к пакету, это всегда будут слабые места. Это где инженерные знания и интуиция необходимы.
Я провел моделирование деталей, которые, как я знаю, легко выдерживают определенные напряжения, и модель показывает, что внутреннее напряжение в 10 раз превышает предел текучести; это, очевидно, неверно, потому что оно имеет форму спонтанного сплайна, а ПО FEA это не нравится.
Наконец, должно быть очевидно, что смена программного обеспечения не устраняет ошибку пользователя. Если вы допустите ошибку в модели или параметрах, эта ошибка вас испортит независимо от того, что вы используете для ее анализа.
источник
Граничные условия и метод моделирования будут сильно влиять на результаты. Я предлагаю запустить упрощенную / идеализированную версию (например, плоскую или осесимметричную) и полностью твердую версию и сравнить их.
Проблема с двумя различными программами FEA заключается в том, что под капотом решатели будут практически одинаковыми. Наблюдаемые различия могут быть связаны с различными критериями сходимости или с различными предположениями о применении граничных условий. Вы не проверяете модель, но способность каждого решателя узнать, что она достигла решения.
Я думаю, что результаты ВЭД должны быть подтверждены сначала здравым смыслом и ручными расчетами, а затем аналогичными, но разными моделями (например, твердыми телами вместо балок) и, наконец, физическим тестированием, чтобы выяснить, выходят ли из строя детали, где и как предсказывает ВЭД. , Когда часть потерпит неудачу является более трудным , так как он infuenced с помощью производственных процессов, материальных вариаций и resudial напряжений.
источник