2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Постпроцессинг для МКЭ
Сообщение22.09.2005, 19:21 


13/09/05
153
Москва
Хотел поделиться своими соображениями по этому поводу. Если кто-то програмил графику под МКЭ, буду рад ознакомиться с Вашими соображениями.

На мой взгляд всю графику для МКЭ нужно рисовать с использованем OpenGL, ну или, на-крайняк, воспользоваться DirectX.
По справнению с WinGDI - все плюсы OpenGL даже не перечесть: шустрая графика, буферизация, прозрачность на высшем уровне.
Также в OpenGL есть необходимый набор для функций (одни glScale и glTranslate чего стоит), чтобы легко и просто приделать Zoom, практически не ограниченный в дипазоне изменения масштаба.

OpenGL поддерживает создание списков рисования, использование которых позволяет ускорить отрисовку. Вся отрисовка сложной графики с кучей промежуточных вычислений производится в процессе создания списка, а в дальнейшем, при отрисовке просто выполняется последовательность комманд, сохранненая с списке самой библиотекой.

К достоинству OpenGL я бы отнес его простоту - фактически для рисования нужно всего навсего несколько комманд (glColor, glBegin-glEnd, glVertex).

По OpenGL в инете есть много всякой литературы (я бы даже сказал, что слишком много). На мой взгляд самое главное - это The Red Book, а также на русском - Основы OpenGL, Книга Игоря Тарасова.

По построению графиков под МКЭ здесь хотелось бы отметить книгу
Computer Visualization: Graphics Techniques for Engineering and Scientific Analysis, by Richard S. Gallagher (1994). В ней просто и ясно изложены идеи и алгоритмы построения линий уровня, изоповерхностей и др. , визуализация течения и пр.

Для построения Surface plot и цветовых карт в OpenGL даже ничего придумывать не надо - в нем если при отрисовке треугольника и четырехугольника для разных вершин задать разные цвета, то сам проинтерполирует цвет в пределах элемента. Таким образом, все построение сводится к пробегу по сетке конечных элементов, заданию цвета узлов текущего элемента в соответствии с их значениями и рисованию самих элементов.

 Профиль  
                  
 
 Re: Постпроцессинг для МКЭ
Сообщение10.10.2005, 21:09 
Это Вы правильно заметили, все современные коммерческие пакеты МКЭ используют OpenGL. Скажите, пожалуйста, а что Вы пишите?
Nicola-Petrov"собака"yandex"точка"ru

  
                  
 
 
Сообщение12.10.2005, 13:50 


13/09/05
153
Москва
Написал программу расчета 2D электрических полей с помощью МКЭ, с пре- и пост-процессингом. Для графики OpenGL используют практически все коммерческие программы, а те, что не используют (взять например ELCUT, они всё в GDI рисуют), обладают плохим отображением результатов, "кривыми" графиками, да и к тому же тормозят чрезмерно на больших задачах даже в 2D по определению - GDI для этого не предназначен.

 Профиль  
                  
 
 
Сообщение12.10.2005, 16:22 


29/07/05
5
Samara
Nikola? посмотри еще и тут
http://dxdy.ru/viewtopic.php?t=123&start=15

To VLarin
Хотела начать беседу, да пропала. Как профи, нам может быть совет дадите?
Создаем систему моделирования для анализа процессов в одновитковом вихретоковом датчике с использованием МКЭ и закона Био-Савара.
Кратко про датчик. Состоит из трех элементов: согласующего трансформатора, безиндуктивных тоководов и чувствительного элемента в виде отрезка проводника. С помощью тоководов чувствительный элемент вносится в зону измерения с повышенной температурой. Тоководы и чувствительный элемент образуют виток вторичной обмотки согласующего трансформатора, а его первичная обмотка включается в измерительную схему с импульсным питанием.
Цель моделирования - изучение электромагнитных процессов, протекающих в чувствит. элементе и объекте измерений при импульсном возбуждении измер. схемы (изменения индуктивности датчика во времени и от преобразуемых перемещений объекта, оценка влияния геометрических и электрофизических параметров материалов датчика и объекта и мешающих внешних факторов).
Хотелось бы узнать, может быть не стоит заниматься разработкой системы, а воспользоваться существующими системами моделирования (FemLab 3.1, HFSS, Maxwell 3D, или еще какие?). Этот путь вызывает правда опасения, что эти системы способны решить подобные задачи (скорее всего использующие для этого уравнения Максвелла, а у нас импульсное питание), и во-вторых - "навязанная" ими трудоемкость при получении "модельной" градуировочной характеристики (уравнения преобразования датчика - функции нескольких переменных, связывающих вход и выход). Заранее извиняюсь за свой вопрос.
З.Ы. А журнал "Электричество" №7 2005 г. нигде в электронном виде не существует? Хотелось бы познакомиться с Вашей статьей.

 Профиль  
                  
 
 
Сообщение12.10.2005, 16:30 


29/07/05
5
Samara
В продолжении - это путь, предлагаемый, в частности, и Вами (использование opensource библиотек для различных подсистем). После Ваших советов (в других ветках Computer Science) несколько смущает реальная трудоемкость проектирования.

 Профиль  
                  
 
 
Сообщение12.10.2005, 17:37 


13/09/05
153
Москва
To Victoria:
Программить свою реализацию МКЭ действительно трудоемко, причем наиболее трудоемки именно пре- и пост-процессинг, графика, интерфейс и все такое. А делать 3D это вообще отдельная история.

Так что мое мнение такое - если просто нужно посчитать, то лучше воспользоваться готовыми программами. Для Ваших целей я бы сказал, что подойдет Ansys или FEMLab. С HFSS и Maxwell 3D я знаком поверхностно, и ничего конкретного про них сказать не могу. (кроме того, что HFSS заточен под СВЧ, а Maxwell 3D - грамотные конечные элементы для электромагнитных полей в целом с достаточно большой функциональностью и удобным интерфейсом:))).
А так в Ansys и FEMLab можно написать скрипты и в цикле запускать модель на счет с различными параметрами. В принципе то, что нужно.

Последний, FEMLab, на мой взгляд является самой глючной и убогой МКЭ программой, но то, что он сделан как надстройка над MATLAB'ом дает определенные преимущества в плане работы (хотя и кучу минусов самого MATLAB'а).

Можно создать модель, сохранить ее как m-файл, потом открыть ее в редакторе и заменить все нужные величины (параметры геометрии, параметры подобластей, граничные условия и пр.) на переменные. Остается только в цикле их менять и сохранять промежуточные результаты.

 Профиль  
                  
 
 
Сообщение15.10.2005, 19:50 
Victoria, попробуйте Вашу задачку посчитать в Ансисе. Это очень мощный пакет. Его проблема, в том, что необходим подход к Вашей задачке, т.е. упрощение без потери физики процесса.

  
                  
 
 
Сообщение20.10.2005, 10:06 


13/09/05
153
Москва
To Nicola:
По поводу Ansys'а у меня неодназначная позиция. Проблема Ansys'а, на мой взгляд, в том, что его писали хорошие инженеры и плохие проектировщики и программисты. При этом, начинали они свое дело в далеких 70-х, и у меня такое чувство, что вряд ли они с тех пор меняли структуру расчетного ядра, так просто модифицировали некоторые части. Вот и получилась навороченная программа с кучей возможностей и жутко кривым и неудобным интерфейсом и принципом организации работы в целом:). Но своего они добились - они стали лидерами, разобраться в программе достаточно трудно и занимает много времени, опять таки из-за плохой организации структуры программы и нелогичными приемами, но они проводят обучение, обучение надо сказать весьма дорогое - и, типа, ребята, кто хочет научиться работать с нашей программой, т.е. с самой крутой FEA-программой, то мы можем Вас научить за чисто символическую плату:). Идея, на мой взгляд, блестящая. Даже если вы скачаете пиратский релиз, и нужно считать серьезные вещи, то замучаетесь разбираться и проще будет пойти к ним поучиться:(.

 Профиль  
                  
 
 Неужели??? Иван ФМФ
Сообщение12.12.2005, 18:34 
Заморожен


09/10/05
19
Воронеж
VLarin писал(а):
To Nicola:
По поводу Ansys'а у меня неодназначная позиция. Проблема Ansys'а, на мой взгляд, в том, что его писали хорошие инженеры и плохие проектировщики и программисты. При этом, начинали они свое дело в далеких 70-х, и у меня такое чувство, что вряд ли они с тех пор меняли структуру расчетного ядра, так просто модифицировали некоторые части. Вот и получилась навороченная программа с кучей возможностей и жутко кривым и неудобным интерфейсом и принципом организации работы в целом:). Но своего они добились - они стали лидерами, разобраться в программе достаточно трудно и занимает много времени, опять таки из-за плохой организации структуры программы и нелогичными приемами, но они проводят обучение, обучение надо сказать весьма дорогое - и, типа, ребята, кто хочет научиться работать с нашей программой, т.е. с самой крутой FEA-программой, то мы можем Вас научить за чисто символическую плату:). Идея, на мой взгляд, блестящая. Даже если вы скачаете пиратский релиз, и нужно считать серьезные вещи, то замучаетесь разбираться и проще будет пойти к ним поучиться:(.


Ansys - не самая навороченная МКЭ программа. Ansys - в реальности, средненький пакет со средненькими возможностями. Говорю как человек, который работал на
Catia, Abaqus, Nastran, и множеством прог, которые выполняют одну лишь функцию мешинг, пре- и постпроцесор и проч (HyperMesh, GiD от ICMNE, и др). :-) Сам кое-что писал..

На мой взгляд, если делать что-то самому, то надо собирать из готовых кусков..

Пре- и постпроцесосор - используя готовые фреймфворки для визуализации (Open Cascade, Open SceneGraph, VisIt и др)

Генерация сетки - есть множество мешеров, втч. в опен соурс

Солверы - также есть в свободном доступе..(особенное внимание - на блочный Ланцош!! -
весьма непростой метод решения СЛАУ, имеет множество нюансов)

Иван ФМФ

email me, если что на jj1024 [at] yandex [dot] ru

 Профиль  
                  
 
 
Сообщение18.10.2006, 13:49 


13/09/05
153
Москва
Построение изолиний
Базируется на предположении о линейном распределении потенциала в пределах КЭ или в пределах подэлементов, на которые разбивается элемент для повышения качества картинки.
Предположим нужно построить набор изолиний (10-20-30...90%).
Пробегаем по всем КЭ и по списку уровней.
Для текущего элемента определяем мин-макс значение искомой величины - Vmin и Vmax. Если значение текущего уровня Vcur < Vmin или Vcur > Vmax - изолиния не проходит через этот элемент. Переходим к следующему уровню и (или) к следующему элементу. Если Vcur >= Vmin и Vcur <= Vmax - текущая изолиния проходит через этот элемент.
Необходимо определить ее кусочно-линейную аппроксимацию на этом элементе. В предположении о линейном распределении искомой величины на элементе ищем точки пересечения отрезка изолинии с гранями КЭ. Добавляем полученный отрезок в соответствующий список кусочно-линейной аппроксимации изолиний.
Для большей гладкости полученного изображения в процессе построения каждый КЭ можно разбить на N*N подэлементов и на каждом из них искать отрезки изолинии.

Это что касается построения диапазона изолиний. Если требуется построить только одну изолинию в некоторой области, то можно сделать следующее. Прямой перебор всех КЭ занимает большое время, но можно попробовать протрассировать линию элемент за элементом, используя некоторый стек элементов.
Находим начальный КЭ, для которого Vcur >= Vmin и Vcur <= Vmax. Добавляем его в стек элементов. Далее в цикле снимаем элемент с вершины стека. Если он был уже обработан, то пропускаем этот элемент. Если он еще не был обработан, то:
- если для текущего КЭ Vcur >= Vmin и Vcur <= Vmax, то для этого КЭ находим отрезок изолинии и добавляем этот отрезок в список. Помечаем элемент как уже пройденный, а также добавляем в стек элементов конечные элементы, окружающий текущий.
- если Vcur < Vmin или Vcur > Vmax - то помечаем его как пройденный.

Построение изоповерхностей
Все в точности тоже самое, только ищем пересечение плоскости с КЭ.

 Профиль  
                  
 
 Re: Постпроцессинг для МКЭ
Сообщение05.02.2012, 01:18 


05/02/12
1
Доброй ночи!
может кто нибудь подсказать по поводу пост обработки результатов солидов? А именно нахождение изгибающего момента в сечении через surfoperation? заранее спасибо!

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group