|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
26.12.2014, 08:56 | #1 | |
Начало работы в Calculix (FreeCAD+GMSH+Calculix) и немного о МКЭ
Регистрация: 02.11.2011
Сообщений: 44
|
||
Просмотров: 39362
|
|
||||
Регистрация: 02.11.2011
Сообщений: 44
|
Решил посчитать для начала стержень на сжатие.
Создал во FreeCAD модель с размерами 50х50х500 мм. Экспортировал модель в .step файл. Открыл полученный файл в GMSH. Добавил точку с координатами 0,0,0 и поверхность с координатой z=500 в физические группы. На предложение сохранить файл с формате .geo ответил положительно. На панели Visibility назвал эти группы соответственно "fix" (буду фиксировать точку по трем осям), а поверхность "load" (буду прикладывать нагрузку). Построил сеть 3D. (файлы приложил к сообщению) И как теперь все это сохранить, чтобы потом открыть в Calculix? |
|||
|
||||
Инжинегр Регистрация: 09.12.2011
Сообщений: 433
|
ИМХО а зачем тебе Calculix? Это же свободная программа. Вдруг какой-нибудь товарищ возьмет и накосячит в коде, а ты и не заметишь. Тут же не проверишь. Изучай нормальные проги, с которыми можно и в экспертизу чуть что сходить. А Сalculix это только если поиграться на досуге.
|
|||
|
||||
Регистрация: 09.12.2008
Сообщений: 4,649
|
Цитата:
Скадом руководит какой то профессор, автор малосодержательных книжек с шутками-прибаутками, и содранными из сопромата примерами. По ходу дела это полулюбительская программа оставшая от мировых образцов лет на 20. CalculiX пришет профессиональный немецкий инженер - авиамоторостроитель и верифицирует код по программе Abaqus - на сегодняший день лучшей коммерческой программы для индустрии. В принципе сравнивать SCAD и CalculiX не корректно - все таки назначение разное. Я просто пытаюсь оспорить стереотипы в отношении открытых программ. Когда вы начинаете работать с любой программой - открытой или супердорогой - то прежде всего прорешиваете тестовые примеры и сравниваете с аналитическим решением чтобы понять как это все работает. после чего присутпаете к реальным задачам -попутно все таки сверяя результаты и оценивая их другими прикидочными методами и визуально. По существу вопроса - если вы собираетесь рассчитывать балку на изгиб то вам надо иметь более густую сетку (просто нажимте refine) и желательно элементы второго порядка (нажмите second order) В GMSH нет автоматической верификации сетки поэтому за качеством должен следить сам пользователь меняя по надобности настройки Для квадратичных элементов (как раз second order) на криволинейных поверхностях надо отдельно запускать плагин и проверять якобиан чтобы был положительным - иначе расчет не состоится. Для перегонки из gmsh в inp есть масса конвертеров (по ссылке ниже и в хранилище файлов в calculix yzhoo group). Если по умолчанию сохранять как inp - то потом придется вручную править модель потому что все линии и поверхности будут переданы не как группы а как конечные элементы (которые тут не нужны) Когда получите inp с группами - можете собственно задавать граничные условия и запускать расчет По существу темы - рекомендую несколько ссылок https://www.youtube.com/channel/UCB_...n727ABg/videos http://www.calculixforwin.com/ http://dip28p.web.fc2.com/calculix/ По Freecad - полно видеоуроков на youtube Вот например с этой сборкой GMSH http://dwg.ru/dnl/12476 получил сетку приложенную на картинках. При сохранении в GMSH надо выбрать в списке расширение .INP Можете потом открыть inp файл текстовым редактором и посмотреть что и как сохранилось - какие группы Далее дело за небольшим - задать данные для групп и посчитать. (на сжатие и грубой сетки достаточно - на рисунке показана та что более менее работает на изгиб) В целом конечно Calculix - обычная классическая консольная программа. Все коммерческие программы по сути надстройки над такими консолями. В CalculiX роль надостроек выполняет куча стронних утилит. Все вертится вокруг данных в текстовых файлах, по сути все довольно просто если вы изучите основные принципы (тут философия unix way - главное понять как оно работает а не то, какие кнопочки нажимать) а дополнительные утилиты - всего лишь для формирования этих файлов. Если научиться - то можно несложные задачи решать примерно с такой же скоростью как в Solidworks Simulation и кстати вместе с CalculiX поставляется большое количество верификационных примеров по разным типам задач PS Я для работы с CalculiX посоветовал бы даже серьезно изучить Salome-Platform (вроде есть версия для винды, хотя периодически вылетающая) В принципе это уже программа индустриального класса - там много классных инструметов по упрощению STEP геометрии (например автоматом за пару секунд удалить все отверстия) и по мешированию (я их в данный момент осваиваю потому что Solidworks довольно плохо это делает). Под виндоус она может работать несколько косячно - все таки европейцы для всех мало мальских серьезных инженерных вещей всегда используют линукс системы (тот же автор CalculiX в глаза виндоус не видел - Siemens NX же и SUSE)
__________________
мой блог по некоторым вопросам Последний раз редактировалось ETCartman, 26.12.2014 в 18:26. |
|||
|
||||
Регистрация: 02.11.2011
Сообщений: 44
|
Посчитал стержень 10х10х100 мм на сжатие (один конец жестко закреплен, нагрузка 100 Н).
Получил критическую силу 40988 Н. Аналитическое решение дает значение 41123. Что делал. Создал балку во FreeCAD. Перевел в .step Открыл файл в Netgen и создал сетку. Сохранил сетку в .vol. С помощью команды cgx -ng имя_файла открыл файл с сеткой в Calculix. Сохранил сетку отдельно. С помощью qadd и qrem создал набор из точек fix и набор из поверхностей load. Сохранил их в отдельные файлы (load сохранил задав давление 1). Далее создал файл .inp в который поместил ссылки на файлы с сеткой и наборами. описал материал, задал ограничения, нагрузки и т. д. Вопросы: Вообще-то, задавая давление 1, я думал, что 1 это значение результирующей силы от этого давления. Оказалось что нет. Как задать нагрузку через DLOAD я так и не разобрался. Может кто-нибудь объяснит? Очень интересует вопрос задания неравномерно распределенной нагрузки. Возможно ли такое? Очень буду благодарен если кто-нибудь объяснит, что именно значат аргументы команды BOUNDARY. PS: Почти все предложенные выше программы вылетают или не запускаются. (У меня Windows 8.1 64x, наверное из-за этого). Поставил Ubuntu на виртуальную машину, но скомпилировать Calculix пока не получилось. Опыт работы с Linux есть, но раньше все программы ставил через apt-get. Последний раз редактировалось Askemann, 13.01.2015 в 17:14. |
|||
|
||||
Регистрация: 09.12.2008
Сообщений: 4,649
|
Если аналитическое решение найдено по Эйлеру без учета сдвигов, то скорее всего разница этим и объясняется. CalculiX сдвиги учел и получил немного меньшее значение критической силы
*BOUNDARY Nfix,1,3 значит закрепление узлов группы Nfix по осям X, Y и Z 1 - X 2 - Y 3 - Z 4 - вращение вокруг X (для балок и оболочек) 5 - вращение вокруг Y (для балок и оболочек) 6- вращение вокруг Z(для балок и оболочек) 1,3 - значит от одного до трех Например если надо задать только по X и Z то надо записать две строчки *BOUNDARY Nfix,1,1 Nfix,2,2 *DLOAD давление и прочие объемные и поверхностные силы (соб вес, центробежная сила при вращении и тд) неравномерное давление задается через процедуру в фортране (то есть конечно для продвинутого пользователя) либо можете задать равномерное ступенчато. Площадь поверхностей группы можно найти командой в CGX (не помню какой точно) Сила = Давление * Площадь Есть разные программки на основе CalculiX где сразу можно задать силу (calculixforwin.com) чтобы не вылетала - нужно по моему распаковать ее на C:\
__________________
мой блог по некоторым вопросам |
|||
|
||||
Регистрация: 09.12.2008
Сообщений: 4,649
|
да - Nfix,3,3
Просто ошибся А почему другие надстройки не запускаются? Могут из за кириллицы в путях давать сбой
__________________
мой блог по некоторым вопросам Последний раз редактировалось ETCartman, 13.01.2015 в 21:56. |
|||
|
||||
Регистрация: 02.11.2011
Сообщений: 44
|
Есть ли возможность сделать что-то похожее на линию разъема из Солидворкс, чтобы задавать нагрузку на часть плоскости?
По поводу неравномерной нагрузки: я понял что ее задают в файле dload.f. Нашел пример самого выражения if(coords(3).gt.Z0.d0) then f=0.d0 else f=10000.d0*(Z0.d0-coords(3)) endif где Z0 — поверхность воды. А вот что такое d0 я не понял. Еще я не понял как же должен выглядеть весь файл dload.f и как его надо объявлять в .inp файле. Может кто сможет подсказать? |
|||
|
||||
Регистрация: 09.12.2008
Сообщений: 4,649
|
Вы можете задать группу поверхностей командами qadd, qrem.
То есть значала задать группу а потом откусить от нее часть поверхностей (получить часть плоскости какую хотите). dload.f это файл фортрана и код тоже на фортране. Тем же путем вы можете написать свою модель материала, и так далее. d0 должно быть какая то внутренняя переменная. Естественно написав код на фортране - вы должны будете откомпилировать его. То есть такой путь работает для тех, кто работает непосредственно с исходниками, и простым считаться не может. Любую неравномерную нагрузку естественно можно представить как ступенчатую - задать равномерную на 3-5 ступеней. Она собственно и в Солидворкс ступенчатая - в зависимости от размера элемента. Если вы зададите ее по уравнению, а в пределах поверхности будет 3 элемента - то она вам и спроецируется на 4 узла по высоте, потому как что в Солидворкс что где то еще - базовые способы задания граничных условий к дискретной модели одинаковы PS может быть полезно/интересно http://dwg.ru/dnl/11282
__________________
мой блог по некоторым вопросам Последний раз редактировалось ETCartman, 26.01.2015 в 22:16. |
|||
|
||||
Регистрация: 09.12.2008
Сообщений: 4,649
|
В Solidworks Simulation эта команда применяется из одного окна с приложением нагрузки,
но она не имеет отношения к конечно-элементной части программы, по сути она преобразует геомерию (разделяет поверхность используя линии эскиза). В принципе при построении геометрии в программах классического типа (вроде Ansys classic или Cosmos M - на основе чего Solidworks Simulation и работает) - такого рода площадки создавались пользователем как часть геометрии в геометрическом модуле. Вообще геометрические модули таких программ несколько отличались по философии построения от современных CAD - там при создании 3д геометрии уделялось внимание составным примитивам (линии, поверхности, тела) - слиты они или разделены, например. Это имеет значение при автоматической генерации сетки. То есть две одинаковых с виду 3д модели на самом деле с точки зрения построения сетки и расчета могли быть разными. Сейчас в принципе тоже приходится почти всегда строить модели отдельно - одну для расчета, другую для чертежей, либо упрощать для расчета ту, что была построена как модель общего назначения. Когда модель уходит в расчетный модуль, она не обязательно должна быть одним телом, потому что при мешировании программа учитывает так называемый bonded контакт (то есть склеивает смежные тела автоматом по умолчанию). В общем если ориентироваться на Freecad - я не знаю есть ли там такая опция как SplitLine но вы можете просто создать отдельно небольшую приподнятую или вырезанную площадку для нагрузки. В геометрическом модуле Salome Platform такая опция точно есть, как и масса других опций построения геометрии в расчете на получение определенной сетки. Можете попробовать использовать его, тем более что есть python скрипт который перегоняет из Salome в CalculiX. PS Netgen алгоритм в Salome шустренько разбивает вполне реальные мультибоди модели (надо только Partition создать для склеивания сетки) Группы если научитесь создавать - то в прицнипе можете считать что угодно (я портабельную версию Salome для виндоус использовал)
__________________
мой блог по некоторым вопросам Последний раз редактировалось ETCartman, 29.01.2015 в 03:15. |
|||
|
||||
Регистрация: 09.12.2008
Сообщений: 4,649
|
Цитата:
Кроме того у вас какая то несуразность в геометрии, так что открыть ее даже в солидворкс удалось только с третьей попытки. Притом что изначально конструкция и модель очень простая (кстати ее можно посчитать оболочками в CalculiX, построив в GMSH например). Смысл partition в том что любое сложное тело, которое состоит из множества тел, может быть размешировано довольно быстро и просто, со слитием сетки на границах. В точности такой принцип использует и Solidworks Simulation - там есть в настройках bonded контакта две опции - слитие сетки при мешировании и объединение узлов произвольной сетки на смежных границах (аналог *TIE в CalculiX ) Например ту модель что вы выложили - она построена наименее оптимальным образом. Очень сложная слитная часть (я ее выложил на картинке) и много мелких пластинок присобачено с боку. В результате Netgen ее бьет целых 10 минут и получает на выходе полтора миллиона элементов (что неадекватно много для такой простой конструкции, с такими моделями сложно работать даже в Solidworks Simulation и в Ansys - из за медленного рендеринга, да и не нужны крупные модели практически почти никогда). Тут тоже стоит заметить что открытый мешер Netgen хотя в принципе и ничем не хуже платных (в том же Salome, опционально за плату, и во всех прочих пакетах - одни и те же мешеры) - но все же гораздо менее гибкий в настройках. Например если у вас есть короткие отрезки - он будет мельчить сетку на них даже если оно не нужно. Или надо вручную задавать параметры меширования чтобы не мельчил. multybody работает в нем куда лучше чем слитые сложные тела, надо только избегать по возможности мелких радиусов и отрезков или использовать там в же в Salome инструменты упрощения геометрии. Я вам предлагаю выложить вашу модель в STEP без всяких преобразований - то есть тела как отдельные пластинки, как оно строится для чертежей например. PS макросы для перегонки сетки в UNV в INP в основном размещены вот тут - http://dip28p.web.fc2.com/calculix/ там же примеры есть макросы не всегда работают из-за разных версий форматов и по другим причинам - надо разные пробовать варианты
__________________
мой блог по некоторым вопросам Последний раз редактировалось ETCartman, 30.01.2015 в 06:27. |
|||
|
||||
Регистрация: 09.12.2008
Сообщений: 4,649
|
Меня ваши попытки научиться так растрогали, что решил прямо для вас сделать подробный пример
__________________
мой блог по некоторым вопросам |
|||
|
||||
Регистрация: 02.11.2011
Сообщений: 44
|
За пример спасибо большое.
Цитата:
Сетка на модели из тел все так-же ужасает. Я не знаю, что я делаю не так. Сетка на оболочках строится быстро. Но появляются балочные элементы B31. Код:
|
|||
|
||||
Регистрация: 02.11.2011
Сообщений: 44
|
Наверное у меня все-таки получилось.
Построил модель затвора в Salome с помощью инструмента plain. Там же сделал сетку. Пару групп добавил, но они потом куда-то потерялись, пока не понял, как их достать в Calculix. Странное уплотнение сетки получилось в точке 0,0,0. Экспортировал в .unv, открыл в GMSH, сохранил как .inp. Потом открыл файл как текст и удалил из него балочные элементы. Элементы CPS6 переименовал в S6. Создал наборы элементов в соответствии с их толщиной и определил оболочки. Набором zzz ограничил перемещения по z (конструкция затвора опирается об порог), набором yyy ограничил перемещения по y (затвор опирается об бетон в пазах). Наборами p1-p6 задал ступенчатую нагрузку. В итоге напряжения превышают 160 MPa только в месте опирания (я так понимаю, что это вызвано сингулярностью). В остальном напряжения и перемещения похожи на реальные. Если укажете на ошибки — буду благодарен. |
|||
|
||||
Регистрация: 09.12.2008
Сообщений: 4,649
|
через конвертеры (если научите ими пользоваться получается быстрее - сетка передается сразу и с группами). кстати если вы строите модель в Salome то и считать можете там же с помошью code-aster
(последняя программа даже помощней будет чем Solidworks Simulation, правда для windows это работает плохо или не работает совсем) попробуйте salome-meca в linux хотя бы в виртуальной машине, там есть визарды и к тому же на английский уже все переведено. По существу вашего расчета - вы прикладывая закрепления защемляете вашу конструкцию (потому что используется не односторонняя связь и не контакт). Это может менять результаты очень сильно, по сравнению с реальной работой. Собственно это не по программе вопрос а по расчетной схеме как вариант - замените группу, ту что квадратики цвета маджента на единственный узел (и просто анализируйте напряжения на удалении от него)
__________________
мой блог по некоторым вопросам Последний раз редактировалось ETCartman, 08.02.2015 в 03:42. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Линии электрических соединений | Shoorup | Программирование | 23 | 07.02.2015 15:13 |
Кто понесет уголовную (или прочую) ответственность в случае разрушиния здания/сооружения? | VAV | Прочее. Архитектура и строительство | 317 | 18.12.2012 03:13 |
Разрешение на разработку ППРк | allexandk | Технология и организация строительства | 4 | 20.03.2012 17:50 |
Временная защита неэксплутаруемого здания от осадков | ing-e | Прочее. Архитектура и строительство | 16 | 06.12.2011 00:11 |
Что именно нужно относить к СМР? | Mylene | Технология и организация строительства | 6 | 29.08.2011 11:50 |