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

Построение тела, ограниченного поверхностями, средствами 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 пользователей

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




×
×
  • Создать...