|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Регистрация: 04.10.2006
Санкт-Петербург
Сообщений: 207
|
Константин, а какую программу может создать рядовой геотехник? никак FemMODELS? очень уж она посредственная (искренне) не надо изобретать велосипед, есть ANSYS лучше вы врядли что то наваяете
А это ваше глубокое заблуждение... Последний раз редактировалось engineer, 15.03.2008 в 03:16. |
|||
|
||||
Сообщений: n/a
|
Цитата:
Как правило самыми "доверительными" пакетами считаются программы вроде ANSYS или Abacus, т.к. их производители тщательно относятся к тестированию, кроме того в качестве тестеров для них выступает весь мир. Чтобы написать свою программу (в этом нет ничего необычного) вы можете например взять открытый код CalculiX (см. материалы в downloads) и дописать для него свои процедуры для User-defined mechanical material laws (в справке описывается, как это сделать, кроме того вы можете безвозмездно проконсультироваться у авторов). CalculiX - это и открытый и популярный код, за несколько лет неплохо проработанный. Линейные задачи считает даже быстрее ANSYS. Кроме того лицензия допускает мало того что писать на его базе свои приложения, но даже создавать свои коммерческие приложения. Т.е. вы спокойно можете дописать несколько процедур и продавать всем желающим не платя авторам никаких комиссионных (они уже потому заинтересованны в расширении круга пользователей, что каждый является и тестером одновременно). Есть еще такая открытая программа, как Code-Aster (правда модели грунтов там уже есть, всего что от вас потребуется протестировать имеющиеся). |
|||
|
||||
Регистрация: 01.02.2008
Сообщений: 356
|
Спасибо за информацию, но свою программку мы уже написали... Вся наша контора на ней считает. Умеет почти все, что и SCAD, плюс грунты.
Вообще писать модель в user defined material laws - не совсем правильно. Как я туда запихаю реологическую модель работы грунта, в которой заложен специфический алгоритм решения задач деформирования во времени (иначе расчет целую вечность займет)? Кроме того, в нелинейной задаче все настолько тесно связано, что математика КЭ не может рассматриваться отдельно от матеманики физ. нелинейности. Поэтому у нас иначе - создается специальный КЭ (на основе, например объемного упругого) и наделяется нелинейными свойствами. Мне кажется, это правильнее. |
|||
|
||||
Инженер-Архитектор Регистрация: 20.03.2005
Сообщений: 776
|
Цитата:
|
|||
|
||||
Сообщений: n/a
|
CalculiX - это вообще говоря открытый код. Грубо говоря - много .f и .c файлов закомментированных. Там есть свои модели в т.ч. реологические, температурно зависимые и т.д. Стандартные в общем алгоритмы.
|
|||
|
||||
Регистрация: 01.02.2008
Сообщений: 356
|
Спасибо еще раз. Обязательно посмотрю этот код. Но, вообще говоря, много файлов на c++ трудно просмотреть даже профессиональному программисту. А специалисты по расчетам едко бывают программистами. Поэтому мы пытаемся работать в следующем направлении.
1. Стандартизация кода КЭ. 2. Упрощение записи кода КЭ. В FEM models 2.0 простейший элемент можно создать почти без программирования. Сейчас мы работаем над созданием математической записи КЭ (что то вроде MathCAD для КЭ). На мой взгляд, только открытость вместе с доступностью кода для понимания могут решить проблему использования сложных моделей. |
|||
|
||||
Сообщений: n/a
|
В CalculiX тоже в принципе не надо смотреть все, там есть возможность использования пользовательских процедур User subroutines:
Creep for isotropic materials (creep.f) Creep for anisotropic materials (ucreep.f) Hardening (uhardening.f) User-defined loading User-defined mechanical material laws User-defined thermal material laws User-defined nonlinear equations User-defined output Переменные CalculiX описаны в справке к нему. Хотя более грамотным решением по написанию "своего" кода является все же использование Octave (Matlab). Цитата:
Проблема сложных моделей на мой взгляд слишком серьезна, чтобы заключаться в написании и вставке какого-либо алгоритма. А как же устойчивость вычислений и т.д.? Ведь и код может быть верным, и результат внешне правдоподобным, но неправильным. Неправильным из-за взаимодействия с машиной, накопления ошибок округления. Алгоритмы тяжелых программ вроде ANSYS или Abacus весьма и весьма сложны. Математическое обеспечение для них разрабатывается зачастую сторонними фирмами, специализирующимися только на этом - как сделать вычисления точными и быстрыми одновременно (а не так, что "мужика на работу взяли"). Тому же CalculiX -у до тяжелых пакетов, как до неба, хотя линейне задачи он решает добре и постоянно дорабатывается. Не потому ли те же скадовцы так долго и упорно отказываются включать физнелинейность нелинейность в программу, потому что понимают, что до тех пор пока результат будет не полное фуфло при их, к тому же, улучшательской скорости, пройдет много времени. Они скорость то расчета до того же CalculiX а только в последней версии подняли (которую кстати критикуют по другим причинам). Так что просто вот так взять и написать, или чтобы каждый взял и написал, мне кажется это не так все просто. Последний раз редактировалось Хворобьевъ, 19.03.2008 в 11:00. |
|||
|
||||
Регистрация: 01.02.2008
Сообщений: 356
|
Хворобьевъ, спасибо большое за "прямую доставку" исходников. Посмотрел, но пока, конечно, не разобрался. Кажется, есть что можно позаимствовать
Проблема нелинейных моделей, конечно очень серьезна и не сводится к тому, о чем писал я. Но, на мой взгляд, открытость и прозрачность нелинейной модели является необходимым (хотя и недостаточным, не спорю) условием для ее успешного применения. Я, конечно, далек от мысли, что пользователи будут разбираться в деталях программирования сложных моделей. Однако их существование в качестве "черных ящиков" - тоже путь, ведущий, на мой взгляд, в никуда. Что касается скорости решения - тут нужно корректное сравнение. Решатель в SCADе написан очень грамотно и на высоком уровне. Поэтому при сравнении нужно выяснить, о какой задаче идет речь и каким методом выполнялось решение СЛАУ (итерационные методы нужно осторожно сравнивать с прямыми, потому что у прямых есть большое преимущество - они иногда надежнее в плане получения ответа для плохо обусловленных СЛАУ, к которым относятся строительные конструкции). |
|||
|
||||
Сообщений: n/a
|
Открытые исходники не такая уж редкость. У ANSYS открытые исходники, у Abacus прекрасные возможности по встраиванию собственных моделей. Но я не думаю, что большинству пользователей это нужно. Скорее - нужна подробная честная справка и тщательная система предупреждений о том, что результат может иметь недостаточную точность в том или ином случае, или даже ненавязчивые технические затруднения на пути к ошибочному результату (как в ANSYS опять-таки). Но конечно, самое главное, чтобы программа была максимально доработана и мест, где можно было бы ошибиться было бы очень мало. Про наши коммерческие программы (тот же SCAD) сказать, что они всегда должным образом доработаны и соответствуют заявленным характеристикам на 100% я не могу. Напротив, в иных местах складывается такое ощущение, что программист работал, вдруг ему позвонили откуда то, он встал ушел, а программа была скомпилированна и продана под маркой качественной. При таком подходе нужно тестировать любой результат и вообще привыкать и формировать доверие очень долго.
А что касается CalculiX-а - нелинейность и т.д. у него пока распространяется на объемные и плоские элементы. В принципе он пригоден и для практических задач, довольно сложных (а вкупе с открытыми препроцессорами и мешерами и модель для него строится в разы быстрее чем в Скаде, например). Последний раз редактировалось Хворобьевъ, 20.03.2008 в 06:58. |
|||
|
||||
Регистрация: 01.02.2008
Сообщений: 356
|
В реальности в справку попадает 1/10 всех нюансов работы модели. Сам писал справку, поэтому представляю, что получается . Это не только от ленивости справкописателей. Просто в справке никакой нормальный разработчик не напишет, что "так и так если сделать - глюк получится". Он так никогда программу не продаст. Да и в справке подобная инфомация выглядит диковато. Поэтому в справке все тихо и гладко. А на практике все гораздо сложнее - численные методы врут по определению и только расчетчик может ограничивать размер этого вранья и получать правильный результат. Что там говорить о нелинейных моделях! Чего стоит одна гонка за получением "правильного" результата в зоне опирания плиты на колонну. Все отечественные программы в нее включились. Вместо того чтобы объяснить пользователю, что в этой зоне ни сопромат (для стержня) ни гипотеза прямых нормалей (для пластины) не работают. Как же они скажут покупателю, что программа в этой точке ответа не дает! Он программу тогда не купит. Что касается тестирования результата - я не уверен, что в Ansys это можно не делать. Первая реакция у расчетчика на результат должжна быть - недоверие. И только тестирование результата позволяет избежать грубых ошибок. Достаточные проверки адекватности результата написать в программе в принципе невозможно. Машина ничего не знает о смысле задачи! Поэтому у меня следующее видение развития численных вычислений:
1. Мощные универсальные программы, которые все могут посчитать - для специалистов, которые понимают, что они делают. Для этих пльзователей - открытый код, подробные справки и т.д. 2. Программы для более узких конкретных задач (в таких программах можно более четко прописать алгоритм проверки адекватности результатов) - для более широкого круга пользователей. При этом могут использоваться продвинутые численные методы, однако заложен узкий "коридор", не позволяющий сделать грубые ошибки. |
|||
|
||||
Сообщений: n/a
|
Цитата:
Да нет, все это реально - и подробные обстоятельные справочные системы (как у ANSYS) и система предупреждений. Никак это на продажах не сказывается. Особенно если программа действительно развита настолько, насколько позволяет современный уровень знаний, а не просто мошеннически декларирует этот факт (заведомо ложный). Цитата:
Меня честно вообще раздражает стиль некоторых отечественных программ оперировать не реальными понятиями "конечный элемент", "количество точек интегрирования по элементу", "степень свободы в узле" а что то вроде "плита", "балка стенка" и т.д. Как можно заставить понять что то, не пытаясь дать основ? Это как в том анекдоте про мальчика: "теперь начинаем называть писю - членом и начинаем лечить триппер". Цитата:
При таком наборе инструментов, если имеется особенность - легко понять что это именно особенность и что армировать по результатам выдаваемым программой в этой точке - глупо или оценивать ресурс по заданным напряжениям - глупо. |
|||
|
||||
Регистрация: 01.07.2009
Сообщений: 26
|
Цитата:
|
|||
|
||||
Инженер-конструктор Регистрация: 13.10.2011
Москва
Сообщений: 2,359
|
2+2=5
4=5 4-5=0 -1=0 -0.5-0.5=0 -0.5=0.5(возводим обе части в квадрат) 0.25=0.25(умножаем обе части на 4) 0=0 Получаем при неправильных исходных данных правильный (якобы) результат ! виноват решатель, а не человек который их задал, он же не знает что 2+2 не равно 5, если бы знал то не покупал решатель. В уравнениях нету ошибки математической, есть только область допустимых значений, которые разработчики то же не могут прощупать абсолютно все, вот и отмазываются. |
|||
|
||||
Оснащение проходки горных выработок, ПОС, нормоконтроль, КР, АР Блог Регистрация: 30.01.2008
Ленинград
Сообщений: 18,620
|
Почему кто-то в чём-то виноват.
Наоборот, может быть этим путём открыта новая область математики. Например, область поиска действий исключающих правильное решение. Например, в квадрат нельзя возводить, этим теряется решение. 4 не = 5, наверное. Есть виды действий при интегрировании, которые нельзя делать. То есть из одного неопределённого интеграла можно получить разные другие интегралы, но правильным считается только одно решение. Есть автоматические решатели типа Мэпл и т.п., которые автоматически делают действия. Для них это пригодится.
__________________
"Безвыходных ситуаций не бывает" барон Мюнхаузен |
|||