Перейти к публикации

Построение тела, ограниченного поверхностями, средствами Ansys и APDL


Дмитрий Ермоченко

Рекомендованные сообщения

Дмитрий Ермоченко

Здравствуйте! Вопрос жизни и смерти - необходимо построить тело, ограниченное шестью поверхностями:

 

1) x^2+z^2=6*y
2) x^2+z^2=1,2
3) y=0,5
4) y=4,5
5) x=0
6) z=0
 
 Полученное тело необходимо разбить сеткой КЭ (преимущественно упорядоченной) и вычислить объем полученного тела и площади ограничивающих его поверхностей для геометрической и КЭ модели. Так же необходимо представить алгоритм решения задачи в виде кода.
Если с поверхностями-плоскостями все понятно (можно просто создать точку с нужными координатами и отрезать рабочей плоскостью), то с первыми двумя поверхностями я справиться не могу.
Заранее спасибо!
Ссылка на сообщение
Поделиться на других сайтах


UnPinned posts
5 hours ago, Дмитрий Ермоченко said:

Вопрос жизни и смерти

Наверно, проще всего будет построить линии пересечения этих функций с плоскостью XY, создать Area, замешить ее квадами, потом прокрутить на pi/2 вокруг Y.

image.png

Ссылка на сообщение
Поделиться на других сайтах
14 минут назад, piden сказал:

Наверно, проще всего будет построить линии пересечения этих функций с плоскостью XY, создать Area, замешить ее квадами, потом прокрутить на pi/2 вокруг Y.

Вторую поверхность неправильно построил.

Ссылка на сообщение
Поделиться на других сайтах

Попробовал построить первую (параболу) по двум точкам и наклонам в них. Всегда думал что такой сплайн должен получится параболой... но увы. Немного не лег на параболу. Остается только коническое сечение делать, если строгая парабола нужна :)

Ссылка на сообщение
Поделиться на других сайтах

@Борман А в APDL нельзя сразу построить узлы по уравнению параболы а потом по ним уже делать плоскую сетку и проворачивать ее?

Ссылка на сообщение
Поделиться на других сайтах

А использовать для этого CAD - религия не позволяет?

30 минут назад, Борман сказал:

Попробовал построить первую (параболу) по двум точкам и наклонам в них.

Для задания параболы нужно ПЯТЬ условий.

Ссылка на сообщение
Поделиться на других сайтах
5 минут назад, Ветерок сказал:

Для задания параболы нужно ПЯТЬ условий.

У меня в Femap почему-то их только три.

Image 5.png

Ссылка на сообщение
Поделиться на других сайтах
Дмитрий Ермоченко

Все таки мне удалось разобраться с геометрией.

1 час назад, Graf Kim сказал:

Типа такого?

Почти, только вы немного неправильно ориентировали цилиндр. В любом случае, после пары часов борьбы с геометрией разобраться удалось:

i9bLGRg1kNc.jpg?size=907x855&quality=96&

 

Далее, чтобы получить данные по модели, воспользовался командой GET и снял данные по объему:

VSUM,FINE
*GET,PAR10,VOLU,3,VOLU,

И после по поверхностям:

ASUM,FINE
*GET,PAR90,AREA,0,AREA

 

Сетку делал не упорядоченной, но достаточно мелкой:

MnTKRgwaGQY.jpg?size=997x761&quality=96&

 

По итогу дело осталось за малым:

Мне теперь через команду 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

 

 

 

 

 

 

 

Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, Дмитрий Ермоченко сказал:

Почти, только вы немного неправильно ориентировали цилиндр

Вы уверены? Для обоих поверхностей ось вращения — OY, если смотреть на уравнения. 

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • Kelny
      Выберите в Solidworks режим при открытии ТОЛЬКО ПРОСМОТР (в последних версиях так понимаю можно выбрать режим ДЕТАЛИЗАЦИЯ без подгрузки моделей) и тоже велика вероятность, что так же покажет, но это только картинки - редактировать ни чего нельзя. В режиме ДЕТАЛИЗАЦИЯ всё такие какое-то редактирование доступно.
    • Девочка_конструктор
      Да, но тогда почему сетка не показывает дробление этого твердого  тела там, где оно есть? Не понимаю)) Раньше у меня была похожая проблема, но там (оказалось) была интерференция, я исправила сопряжения и всё стало отображаться гуд. Cut Plots - показывает, что все в порядке. Следовательно, мне стоит не обращать внимания на Mesh? 
    • Jesse
      это не проблема. Просто инструментом Mesh вы выбрали отображение сетки на поверхностях твёрдого тела. У меня в клапане аналогично показывает. Вам надо юзать опцию Cut Plots. Тогда можно лицезреть сеточку во всей её "толще"
    • Марсель
      Прошу прощения. А.С. Иванов Конструируем машины. Шаг за шагом.
    • djrandom
      Что интересно, говорят, что в eDrawings файл открывается....
    • MFS
      Собственно сабж - мне нужно пообщаться, кто работает, работал, имеет знакомых на ЛОМО - большая просьба написать тут или в личку. Заранее спасибо!
    • Девочка_конструктор
      Уважаемые форумчане! Будьте добры, подскажите пожалуйста, на что мне обратить внимание для устранение следующего бага? Настраиваю сетку в FS - глобальную сетку в ручном режиме, базовую сетку, затем локально задаю наиболее тепловыделяющие элементы, маленьких габаритов. Размеры ячеек получаются оптимальными, на каждую толщину твердого тела приходится примерно по 3-4 слоя сетки. При анализе результата - сетка выдает корпус как какой-то тонкостенный элемент. Где-то местами вообще образовываются пропасти, щели, сквозь которые видны поверхности, находящиеся с противоположной стороны.  На рисунке слева - сетка, которая у меня получается. На рисунке справа - сетка + твердое тело.  Пространство, которое должно быть заполнено, почему-то становится пустым. Я проверяла сопряжения между деталями, там все хорошо, интерференции нет. Если у кого-то была похожая проблема, опишите пожалуйста, как вы с ней справлялись.     Рисунок    
    • MFS
      Вот хороший блог: https://blog.bolt.io/category/teardown/. Еще довольно много в английском ютубе, ключевое слово "teardown" - можно найти много всякого интересного.
    • Artem CAD-is
      "Sheduler" - как понятно из названия, запускает проект по таймеру. Куда интереснее работа с   "Folder Watcher". По своей сути это классический файловый обмен между ПО. Суть его заключается в следующем - DW с определенным периодом опрашивает папку, если в ней появляется документ формата XML с определенной структурой, он его читает и если все хорошо и DW может выполнить данный запрос, то этот XML переносится в папку с положительно отработанными документами, иначе в Error. Структура XML документа полностью описана в документации к DW. Она отличается в зависимости от задачи - мы можем запустить новую итерацию проекта, или продолжить выполнение уже запущенного (перевести в другую стадию проект).  Если коротко, то XML должен выглядеть следующим образом:    Такой вид XML имеет если мы создаем новую итерацию проекта (запускаем заново). Про WorkFlow очень много писать, лучше в отдельной заметке опубликую данный материал. Скажу одно – что любой процесс имеет свои стадии. К примеру процесс утверждения:   Каждый этап характеризует состояние данного процесса, и регулирует зависящие объекты процесса согласно прописанным правилам процесса. Основные операции, которые должны совершаться в автоматическом режиме, должны происходить на переходе из одного состояния в другой. Так же и здесь –  в проекте DW пользователь сам определяет процесс утверждения. Он может быть каким угодно, он может останавливаться и ждать пользователя, моет автоматически переходить между состояниями в зависимости от триггеров или событий. В XML я указал что мне нужно создать новую итерацию проекта «Login» и перевести его в состояние «Release»? при этом заполнить пользовательскую форму согласно значениям, в полях данных. Таким образом можно запускать проекты не только из ПО DW, но и из других систем предприятия, к примеру, ПО 1С очень хорошо умеет генерировать и работать с XML документами. Остальную логику и процесс вы сами без труда напишете. Удачи!
    • IgP
×
×
  • Создать...