Jump to content

Расчет балки в среде PDE Modeler (Matlab).


Recommended Posts

VICT0R_1945

Всем привет.

Сегодня хочу рассказать о том, какие простенькие расчеты можно делать и при этом учится грамотности описания задачи.

Ни для кого не секрет, что интерфейс ANSYS APDL в полной мере не позволяет писать скрипты для решения задачи непосредственно внутри самого себя. И основная проблема эта консоль. Да в нее можно вбить код, но это не удобно. Поэтому часто приходится использовать стороннее ПО (Блокнот, Atom, Sublime Text 3 или как это делаю я Word).

Ничего сверхполезного это не дает за исключением того, что все нужные операции мы прописываем непосредственно в наш текстовый файл, а всю ненужную промежуточную ерунду оставляем в LogFile.

Итак представляю вашему вниманию аналог Ансис, пускай пока и не сильный, но уже умеющий решать к примеру вот такие задачи:

Сам лично провел тест насколько адекватно программа при FREE-сетке.

P.S. Сам решил не выбирать размер КЭ, т.к. программа сильно начинает лагать и жрать не в себе при пользовательском выборе, а я сетке по умолчании в принципе доволен для качественной оценочной задачи.

 

Решается осевое сжатие вдоль оси X, с закреплением по всем 3 осям противоположной поверхности.

 

Сам код в Матлаб выглядит так:

 

>> model = createpde('structural','static-solid');
>> importGeometry(model,'C:\Users\Victor\Documents\Matlab_Ansys\Balka_SW\Balka_SW.STL');
>> figure
pdegplot(model,'FaceLabels','on')
view(0,0);
title('Bracket with Face Labels')
>> structuralProperties(model,'YoungsModulus',2.17e+11,'PoissonsRatio',0.28);
>> structuralBC(model,'Face',6,'Constraint','fixed');
>> structuralBoundaryLoad (model,'Face',5,'SurfaceTraction',[-25000;0;0]);
>> generateMesh(model);
>> figure
pdeplot3D(model)
title('Mesh with Quadratic Tetrahedral Elements');
>> result = solve(model)

>> minUX = min(result.Displacement.ux);
>> fprintf('Maximal deflection in the y-direction is %g meters.', minUX) 
>> figure
pdeplot3D(model,'ColorMapData',result.VonMisesStress)
title('von Mises stress')
colormap('jet')

 

3D-модель с обозначением поверхностей.

608b8e82af05.png

 

Результаты:

Скрытый текст

Matlab

image.png

image.png

 

ANSYS

image.png

image.png

 

 

Link to post
Share on other sites


UnPinned posts
AlexKaz
19 минут назад, VICT0R_1945 сказал:

интерфейс ANSYS APDL в полной мере не позволяет писать скрипты для решения задачи непосредственно внутри самого себя

Т.е. Вы показали одну единственную балку, докупив к 50 тыр. у.е. для ансиса матлаб за 100 тыр. у.е? Мне кажется, для одной балки слишком большая цена за такое дополнение к реальности =) Не, я не против творчества, особенно смену софта на фри очень бы оценил. Просто жизнь апдл-программера Вы не упростили потому как сути и концепта APDL не усвоили. Но ничего, время покажет нужен ли Вам APDL.

Скажу Вам по большому секрету, матлаб не заменит ни Лиру, ни Ансис, ни даже WolsinkFramework. Очень уж убог матлаб по сравнению с реальным МКЭ-софтом.

В прочем, я лично использовал Scilab для аналогичных целей. У меня почему-то получалось...

https://www.researchgate.net/publication/346595579_Dynamics_of_powered_electrical_engine_for_river_boat?_sg=bu4c7ZRQjJqupM9RpxRogzv46RP5u9m7d8C_Soglj1q9w8gLASugZUI4RikOTrQY1hVSS808JXTSkRutUdS4Aa3zqluPai6KhiZ0BQP4.0-zg4xG4jI40RhsTl8RIwrOJfrDbuK1fDwude7FpKan-UUNGBa1cr9p43cijz2fo4-Trt-AExt6-tx2KWIp4xw

Edited by AlexKaz
Link to post
Share on other sites
VICT0R_1945

@AlexKaz Да пока это сырой продукт, но в будущем с его простым синтаксисом он может нормально так ворваться, вообще передо мной стояла другая задача, но походу ее разбора наткнулся на такие возможности и удивился насколько здесь более просто описание подобия хелпа и насколько большой функционал для казалось бы не профильного, отнюдь не профильного приложения. 

Есть FEM от партнеров компании Аскон, так вот он намного менее профессиональный, хотя по идеи должно быть наоборот. В нем я делал попытки расчета шатуна на устойчивость, примерно то что в вашей работе, насколько достоверный результаты сказать не могу, но изгибные формы посмотреть можно и по скорости намного быстрее, чем в Ансис, но программа также кушает не в себя при той же сетки, что в ансис (подразумеваю, что связанно это внутренним размеров КЭ).

Link to post
Share on other sites
AlexKaz
51 минуту назад, VICT0R_1945 сказал:

но в будущем с его простым синтаксисом он может нормально так ворваться

Синтаксис интересен в последнюю очередь. Важна структура и продуманность кода. ANSYS APDL успешен именно благодаря им. И потом, невозможно автоматизировать всё, от создания геометрии до постпроцессинга.

APDL сам по себе довольно сильно отличается от собратьев. Он предложил коротким и ёмким кодом несколько интересных возможностей:

1) макросы над всеми процедурами

2) доступен абсолютно любой функционал МКЭ, можно вытащить любые переменные из конечного элемента

3) автогенерация геометрия, в т.ч. очень сложной

4) автогенерация сетки, сеток, сложных сеток

6) решатель можно перепрограммировать.

7) библиотека конечных элементов, материалов, решателей, физматпроцессов...

 

А теперь сравните эти пункты с матлабовской либой. Надеюсь, Вы поймёте почему либа эта для меня крайне убога. В ней только элементарные вещи где-то годов так 50-60-х.

 

Если Вы реально хотите увидеть что будет если развить непродуманный "говнокод" - посмотрите в сторону Code_Aster. Это софт реально хороший, но не для всех. Так сказать, матлабовская либа лет через 20.

 

Edited by AlexKaz
Link to post
Share on other sites
статист

Такое же баловство есть и в Mathematica https://www.wolfram.com/mathematica/new-in-10/pdes-and-finite-elements/structural-mechanics-in-3d.html

Виктор, почему бы Вам не попробовать deal.II на C++ https://www.dealii.org/ , если вы любите программировать?

Link to post
Share on other sites
VICT0R_1945
3 часа назад, статист сказал:

Такое же баловство есть и в Mathematica https://www.wolfram.com/mathematica/new-in-10/pdes-and-finite-elements/structural-mechanics-in-3d.html

Виктор, почему бы Вам не попробовать deal.II на C++ https://www.dealii.org/ , если вы любите программировать?

Попробую, побалуюсь. Спасибо!

  • Нравится 1
Link to post
Share on other sites
  • 3 weeks later...
Цитата

 ПО (Блокнот, Atom, Sublime Text 3 или как это делаю я Word)

Лучше всего по опыту Notepad++ Позволяет работать со столбиками что для APDL и автогада очень удобно. Ну и программировать можно как тут делал   :) 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • Дмитрий Ермоченко
      Все таки мне удалось разобраться с геометрией. Почти, только вы немного неправильно ориентировали цилиндр. В любом случае, после пары часов борьбы с геометрией разобраться удалось:   Далее, чтобы получить данные по модели, воспользовался командой GET и снял данные по объему: VSUM,FINE *GET,PAR10,VOLU,3,VOLU, И после по поверхностям: ASUM,FINE *GET,PAR90,AREA,0,AREA   Сетку делал не упорядоченной, но достаточно мелкой:   По итогу дело осталось за малым: Мне теперь через команду GET необходимо снять суммарную объем и площадь поверхности элементов. Если я правильно понимаю, то мне необходимо снять номер общего количества элементов, номер минимального и максимального элемента, а затем просто через цикл это как то просуммировать. Я разобрался как снять номера элементов и их параметры, но не до конца понимаю как их просуммировать. Т.е: *GET,PAR0,ELEM,0,COUNT,,, *GET,PAR1,ELEM,0,NUM,MIN,, *GET,PAR2,ELEM,0,NUM,MAX,,   А дальше цикл от PAR1 до PAR2 с шагом один. Только вот как присвоить через i уникальное имя каждому снимаемому параметру с элемента(а у меня их почти 48 тысяч) и потом их просуммировать я не до конца понимаю. Спрашиваю, наверное, банальщину, но на экзамене все приходится схватывать на лету. Код построений прилагаю (в том числе и с целью помочь какому-нибудь несчастному студенту, которому это задание попадется на экзамене как и мне): /PREP7 !Кривая 1 !Параметры x0=0 z0=0 !Начало цикла *do,i,0,25 z=z0+0.15*i x=x0+0.15*i !Уравнение поверхности y=(x**2+z**2)/6 !Создание точек K,,x,y,Z !Завершаем цикл *enddo !Блок команд, отвечающих за построение модели FLST,3,i+1,3 !Цикл создания линий *do,j,1,i+1 !Создаем массив FITEM,3,j *enddo !Завершаем цикл !Создаем сплайн по точкам BSPLIN,,P51X !Создаем ось вращения k,,0,0.5,0 !Создаем поверхность вращения FLST,2,1,4,ORDE,1    FITEM,2,1    FLST,8,2,3   FITEM,8,27   FITEM,8,1    AROTAT,P51X, , , , , ,P51X, ,360, , !Поверхность y=4.5 !Создаем точку с необходимыми координатами k,,0,4.5,0 !Ориентируем рабочую плоскость KWPLAN,-1,      28,      29,      30 !Переносим раб. плоскость в созданную точку KWPAVE,      31 !Обрезаем созданные грани по верхней границе FLST,2,4,5,ORDE,2    FITEM,2,1    FITEM,2,-4   ASBW,P51X !Удаляем лишние поверхности, точки и линии !Удаление лишних поверхностей FLST,2,4,5,ORDE,2    FITEM,2,9    FITEM,2,-12 ADELE,P51X !Удаление оставшихся точек и линий FLST,2,8,4,ORDE,4    FITEM,2,5    FITEM,2,-8   FITEM,2,17   FITEM,2,-20 LDELE,P51X, , ,1 !Создаем поверхность по линиям FLST,2,4,4   FITEM,2,11   FITEM,2,13   FITEM,2,15   FITEM,2,16   AL,P51X !Создаем объем по готовым поверхностям FLST,2,5,5,ORDE,3    FITEM,2,1    FITEM,2,5    FITEM,2,-8   VA,P51X !Поверхность x**2+z**2=1.2 является цилиндром с радиуосом r=sqrt(1.2) !Тогда !Возвращаем рабочую плоскость в изначальную системы координат WPCSYS,-1 WPAVE,0,0,0 !Создаем круг с заданным радиусом PCIRC,1.095, ,0,360, !Создаем направляющую линию для вытягивания k,,0,0,5 k,,0,0,-5 LSTR,1,36 LSTR,1,37 !Вытягиваем поверхность круга вдоль направляющей VDRAG,       2, , , , , ,       5    VDRAG,       2, , , , , ,       6    !Вычитаем объем цилиндра из основного тела FLST,3,2,6,ORDE,2    FITEM,3,2    FITEM,3,-3   VSBV,       1,P51X !Удаляем все лишнии линии и точки направляющей FLST,2,2,4,ORDE,2    FITEM,2,5    FITEM,2,-6   LDELE,P51X, , , !Поверхность y=0.5 !Ориентируем раб. плоскость KWPLAN,-1,      33,      34,      35 !Переносим раб. плоскость в нужную точку KWPAVE,      27 !Обрезаем объем тела раб. плоскостью VSBW,       4   !Удаляем лишний объем и объекты !Два лишних объема FLST,2,2,6,ORDE,2    FITEM,2,1    FITEM,2,-2   VDELE,P51X, , ,1 !Оставшиеся от направляющей точки FLST,2,2,3,ORDE,2    FITEM,2,36   FITEM,2,-37 KDELE,P51X !Плоскости x=0 & z=0 !Возвращаем рабочую плоскость в изначальную системы координат WPCSYS,-1 WPAVE,0,0,0 !Делим объем тела пополам VSBW,       3 !Ориентируем раб. плоскость KWPLAN,-1,      51,      47,      31 !Делим изначальный объем на 4 части VSBW,       1   !Удаляем лишние объемы FLST,2,2,6,ORDE,2    FITEM,2,2    FITEM,2,4    VDELE,P51X, , ,1 !Возвращаем рабочую плоскость в изначальную системы координат WPCSYS,-1 WPAVE,0,0,0 !Объем тела VSUM,FINE *GET,PAR01,VOLU,3,VOLU, !TOTAL VOLUME =   46.277 !Площади поверхностей ASUM,FINE *GET,PAR02,AREA,0,AREA !S=82.62044852 !Задаем тип конечных элементов ET,1,PLANE183    ET,2,SOLID186      !Разбиваем свободной сеткой ESIZE,0,20, MSHAPE,1,3D MSHKEY,0 !*   CM,_Y,VOLU   VSEL, , , ,       3 CM,_Y1,VOLU CHKMSH,'VOLU'    CMSEL,S,_Y   !*   VMESH,_Y1    !*   CMDELE,_Y    CMDELE,_Y1   CMDELE,_Y2   !Анализ геометрии с сеткой КЭ *GET,PAR03,ELEM,0,COUNT,,, *GET,PAR04,ELEM,0,NUM,MIN,, *GET,PAR05,ELEM,0,NUM,MAX,, *do,i,PAR04,PAR05 ??????? *enddo              
    • copper80
      Благодарю за ответ, рассказываю по порядку. Полгода назад начал я учиться работать в солиде. Для этого мне купили комп, с win10 лицензионной. Я на него поставил 20-й солид. В принципе в солиде я и раньше умел работать, но очень поверхностно. Поэтому когда узнал про то, как удобно работать с таблицами, сразу решил попробовать. Офис стоял 2007. Ничего не вышло. Импорт экспорт не работает, в property tap builder если использовать excel таблицу, то выдаёт ошибку синтаксиса. Удалил солид 20, поставил солид 21. Не помогло. Удалил офис 2007, поставил 2010. Не помогло. На прошлой неделе windows обновился (после этого выдал, что была установлена новая ОС), но это тоже ни на что не повлияло. Дома стоят солид 20 и 21, офис 2010, всё отлично работает, никаких нареканий. Не пойму куда копать. 
    • Graf Kim
      Типа такого?   Ну что вы, вас обманули, это невозможно.
    • TVM
      @BSV1 На четверть оборота D перекручена. 
    • WhiteMaks
      Всем привет. Не знаю куда задать вопрос. Имеется ли на форуме тема по кам системе siemens nx?
    • Andrey337
      Здравствуйте, коллеги!   Есть задача, нужно в классификаторе отобразить несколько свойств с классифицированных объектов.   Скажите, пожалуйста, можно ли добавить дополнительные столбцы в интерфейсе Классификатор?  
    • BSV1
      Эх! Опередил @vasillevich68    
    • Xugack
      Можно по сечения, можно по траектории
    • Arteg
      А путь как задан? 3д эскиз? Это вообще solidworks?)
    • vasillevich68
      Верхняя и нижняя части перекладины - "выталкивание", середина перекладины - "тело по сечениям", "руки в боки" - "тело по пути".
×
×
  • Create New...