2014 dxdy logo

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

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




На страницу 1, 2  След.
 
 Ищу специалиста по методу конечных элементов!
Сообщение31.08.2005, 13:58 
Ищу человека, который мог бы помочь мне с написанием программы, использующей метод конечных элементов. Мой email: tatjana-kos@yandex.ru

 
 
 
 
Сообщение07.09.2005, 14:29 
Вот я, например, пишу программы по МКЭ (на фортране; в том числе для параллельных машин).
Что конкретно требуется? Но я не в Москве.

 
 
 
 
Сообщение08.09.2005, 14:58 
Я сейчас занимаюсь примерно тем же, давай разбираться вместе. Правда, я еще только начал, но не намерен останавливаться на достигнутом. :) Если есть конкретные вопросы, пиши сюда или мыло. Кстати, на чем ты пишешь, для какой платформы?

 
 
 
 
Сообщение13.09.2005, 21:09 
В МКЭ ничего сложного нет. Главное литературу грамотную найти и пару библиотек для пре- и постпроцессинга.
На мой взгляд, самая интересная книга на русском - Сильвестер и Феррари "МКЭ для радиоинженеров и инженеров-электриков" (но она по расчету электромагнитных полей, я просто ими и занимался) и, конечно, Зинкевич.

Самая новая и достаточно полная - Это Зинкевич 5-е издание, на английском (Zienkiewicz O.C., Taylor R.L. Vol. 1. The finite element method. The basis). Там есть практически все, начиная от элементов и заканчивая восстановлением градиентов решения. Книга есть на этом сайте (http://lib.mexmat.ru/books/668).

Генераторы сеток - Handbook of Grig Generation, есть в инете в электронном виде, весит 107MB. Есть неплохие подборки статей и ссылок на литературу по генерации сеток (http://www-users.informatik.rwth-aachen.de/~roberts/meshgeneration.html, http://www.andrew.cmu.edu/user/sowen/mesh.html).
По триангуляции Делоне достаточно полно есть на русском - Скворцов А.В. ("Триангуляция Делоне и ее применение", а также в других статьях этого автора).
Также есть в свободном доступе готовый генератор сетки Geompack++, но он идет без исходников, готовой отдельной программой. Все сводится к тому, что нужно из геометрии задачи в своей программе создать исходный файл для Geompack++, запустить его, а потом прочитать файл сетки, созданной Geompack++. В нем есть Делоне и Advancing Front, не доконцца доработаные и немного корявые, но на первое время для отладки расчетного ядра сгодится:)).

Хранение матриц и решатели СЛАУ - есть разнообразные библиотеки, я бы посоветовал MTL и ITL. На мой взгляд, для решения СЛАУ наиболее применим метод сопряженных градиентов (CG) с предобуславливанием неполным разложением Холесского (Incomplete Cholessky Preconditioned Conjaguate Gradient, ICPCG), который используется в комерческих программах.

Для ускорения процесса решения СЛАУ и распараллеливания можно применить метод геометрической декомпозиции (Domain Decomposition). Тут только самая проблема как грамотно разбить матрицу на оптимальное количество частей. Наиболее шустрые алгоритмы разбинения - многоуровневые (Multilevel), есть хороший сайт одного из авторов алгоритмов - Karypis'a - с подборкой его статей, там же есть в свободном доступе его набор программ для разбинения METIS с исходными кодами.

Построение графиков - здесь лучше заглянуть на CodeProject, там есть есть хорошая подборка графопостроителей 2D-3D, на основе чего можно и свое написать.

Задание геометрии - также есть библиотеки, один Open CASCADE чего стоит. Но самое простое, на мой взгляд, это просто написать (или найти готовые) библиотеки чтения DXF-файлов (есть описание форматов файлов на сайте Autodesk) или фалов CATIA, и доделать их для себя.

 
 
 
 
Сообщение02.10.2005, 15:52 
Зинкевич 5-е издание...
Ух-ты! Спасибо за книжку. Стоит она конкретно.

Для генерации узлов сетки можно использовать Triangle (исходники открыты http://www.cs.cmu.edu/~quake/triangle.html).
Для визуального построения - компонент sgaph для Delphi5 или OpenGL

 
 
 
 FEM
Сообщение09.10.2005, 22:30 
And you may use Femlab. It can do all you write about.

 
 
 
 
Сообщение10.10.2005, 20:21 
Уважаемый VLarin, не могли бы Вы более подробнее объяснить сопряжение расчетного алгоритма с указанными сеточными генераторами. Nicola_Petrov"собака"yandex"точка"ru (Защита от спамеров)

---
Странная защита, раз Вы в нике пишете мейл неискаженным. Исправляю. (dm)

 
 
 
 
Сообщение12.10.2005, 14:14 
Смотря, что именно.
Если сопряжения сеточных генераторов в целом к расчетному ядру, то это одно. Если сопряжение с GeomPack++ - то тут все просто. В мануале к нему изложен формат его входных и выходных файлов. Входные - геометрия (точки, линии и арки, их соединение в циклы (loop)), тип сетки, параметры сетки. Геометрия должна быть задана в виде набора loop'ов, огранивающих подобласти задачи, линии и арки в каждом цикле должны идти друг за другом в порядке против часовой (в мануале все описано).
Выходные - узлы и элементы.
В своей программе создаем входной файл, запускаем отдельным процессом файл программы, ждем когда сетка сгенерится, считываем файл сетки, затем убиваем промежуточные файлы.

 
 
 
 
Сообщение15.10.2005, 19:35 
Понятно. Скажите, пожалуйста, а Вы не пробовали для этих целей к примеру ICEM CFD - коммерческий пакет?
Мне интересно сопряжение сеточного генератора к расчетному ядру. А вообще можно во что-нибудь конвертить выходные файлы Geompack+?
P.S. Я неправильно указал почту первый раз Nicola-Petrov[a]yandex[точка]ru

 
 
 
 
Сообщение17.10.2005, 14:06 
Geompack++ - это примитивный генератор 2D и 3D, и на мой взгляд его можно использовать только для отладки своей программы. А для Ansys'a - там своих заточенных под него генераторов вроде как хватает.
А так - выходные файлы Geompack++ можно прочитать и потом конвертнуть во что-нибудь (написать простой конвертер ручками), но как я уже говорил - сетку он строит примитивную и для серьезных вещей его лучше не использовать.

 
 
 
 
Сообщение19.10.2005, 18:16 
Кто знает в какой программе лучше подготавливать геометрию для 3D моделей, написать самому 3D редактор на мой взгляд довольно трудно?

 
 
 
 любой CAD
Сообщение12.12.2005, 18:43 
Anonymous писал(а):
Кто знает в какой программе лучше подготавливать геометрию для 3D моделей, написать самому 3D редактор на мой взгляд довольно трудно?


ДАРАГОЙ!!!

Возьми ты любой CAD (Solid Works/Edge, UG, Pro/E) и сваргань что надо.

Иван ФМФ.

 
 
 
 
Сообщение14.12.2005, 23:46 
А кто-нить занимался решением конвективно-диффузионных задач(лучше, с конвективным преобладанием) методом КЭ?
если да, то интересует:
1) как формировать матрицу масс, при условии, что сомножитель неизвестного вектора не константа, а переменное.
2) как аппроксимировать конвективные члены.

Если матрица масс была получена методом конечных объемов, разностей или разностей/элементов(МКО, МКР, МКР/Э), напишите, тожа будет полезно.

 
 
 
 
Сообщение15.12.2005, 12:42 
Если я не путаю, то это обычная задача с нелинейными средами и нелинейными источниками. И решаются они обычно в несколько итераций - сначала грубым приближением, затем несколько итераций точным.

 
 
 
 
Сообщение01.02.2006, 17:40 
2udaw
Для таких задач можно использовать расщепление по физическим процессам:
Пусть есть задача вида
\partial U/ \partial t} =k \Delta U + D \vec{v}\nabla U \\
U(0)=U_0

Сначала решаете для t от нуля до tau задачу
\partial V / \partial t = k \Delta V\\
V(0)=U_0
а потом
\partial U / \partial t = D \vec{v}\nabla U\\
U(0)=V(tau) (!!!)
Это задачи в дифференциальной постановке. Аппроксимируйте каждую как удобно -
шаги по времени можно выбрать разные.

Что касается формирования матрицы СЛАУ в случае переменных коэффициентов - коэффициенты можно аппроксимовать линейно, представить как комбинацию L_k. Для вычисления слагаемых вида (L_k,L_k) используйте КФ Гаусса - они есть в любом Зенкевиче. Но нужно внимательно следить за принципом максимума - может нарушаться. Возможно, проще взять их константами на каждом элементе.

А какие конкретно проблемы с конвективными членами?

 
 
 [ Сообщений: 28 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group