Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Решение задачи методом конечных элементов(C++,Asm,VB)

7
21 апреля 2009 года
@pixo $oft
3.4K / / 20.09.2006
Здравствуйте,уважаемые коллеги
Помогите,пожалуйста,разобраться со следующей задачей:дана балка,закреплённая с двух концов;к ней в некотором месте приложена сила/задано перемещение(желательно сила).Требуется методом конечных элементов рассчитать,как будет изгибаться балка(можно в динамике)

Что у нас имеется на момент создания темы:теоретическая часть(см. аттач) и программа,созданная по ней(см. там же).Для расчётов использовался метод Рунге-Кутта.Программа,видимо,работает неверно–допустим,стоит незначительно изменить шаг или другие параметры,и результаты становятся другими(например,при изменении шага не может меняться значение–может измениться только точность его расчёта)

Возможно,имеются мелкие ошибки в формулировании теории,которые,тем не менее,сильно отражаются на результатах впоследствие.К сожалению,в Статьях метод Рунге-Кутта расписан не очень:(
Может быть,мы используем не тот метод расчёта(движемся по цепочке слева направо),может,что-то ещё…

Буду рад хотя бы алгоритму(естественно,если смогу реализовать его программно:))
7
27 апреля 2009 года
@pixo $oft
3.4K / / 20.09.2006
Что ж,тему просматривают,а ответа пока не видно…
Впрочем,это время не зря прошло.Перепроверили теорию,исправили и вроде кое-что получилось,даже правильное.Вот только есть некоторые странные глюки:
0)зависимость результатов от шага.По идее,от шага в численных методах будет зависеть только точность,в нашем же случае это не так,и при увеличении шага на 1 порядок результат,вместо того,чтобы сходиться(как при имеющемся значении шага),расходится,причём очень сильно!
Вот описание самого метода.В аттаче смотрите нашу статью(для системы ДУ)
1)такие же проблемы с коэффициентами жёсткости.Там,правда,чуть демократичнее,но тоже особо не размахнёшься–глянь,а уже ошибка переполнения и т.п.:(

Что получилось:при заданных параметрах всё считается,вроде даже без ошибок…во всяком случае,по логике всё нормально.После 7-й(иногда 6-й) итерации результат сходится окончательно,т.е. можно считать систему установившейся.Вроде пока написать нечего…задавайте вопросы,не стесняйтесь,а то в теме только 2 моих поста:rolleyes:

P.S.В тексте есть немного мусора,связанного с выводом значений,дабы нарисовать картину,как там что происходит
51K
30 июня 2009 года
skifhead
1 / / 30.06.2009
Бэсик гавно!
учи паскаль или си :p
зарегился на форуме шоб ток посмотреть как работает прога
50K
01 июля 2009 года
IdleProc
4 / / 01.07.2009
А нельзя было решить задачу решением гиперболической задачи?
7
20 июля 2009 года
@pixo $oft
3.4K / / 20.09.2006
Не знаю (=
Просвети,пожалуйста,если не сложно
50K
22 июля 2009 года
IdleProc
4 / / 01.07.2009
ну я не совсем уверен - не эксперт(и даже не людитель)
но вообще это типо так
ну матмодель у нас грубо это гиперболическое уравнение с дирихле справа,слева и еще там некоторые краевые...
вроде бы затем (или после или без разницы когда) производится дискретизация по времени (например разностн схем)
потом вроде бы
аппроксимируем решение (чтото типа будем искать решение в подмножестве V пространства V (ну там еще индексы надо добаваить) с какими то базисными функциями)
потом *выесняем базисные функции* получае дискретный аналог (слау)
ну и решаем в соотсветсвии со схемой по времени///
////
sorry - *немного* грубо описано - в книгах по мкэ получше написано
7
22 июля 2009 года
@pixo $oft
3.4K / / 20.09.2006
Честно говоря,отсюда я понял минимум слов,все остальные какие-то незнакомые:) И уж тем более не знаю,как и насколько просто реализовать это на каком-нибудь ЯП
А МКЭ нам так преподают,что дай Бог…хотя книги вроде есть

skifhead:Паскаль,ага:D
50K
26 июля 2009 года
IdleProc
4 / / 01.07.2009
А книги какие используете ?если не секрет? буду благодарен если дадите ссылку на электронный вариант книг ну или названи(е/я) .......
а почему написано в теме сплюсплюс асм бейсик а сделано на паскале? странно ......
почему не на фортране - его обычно ( используют в ЧМ.
7
26 июля 2009 года
@pixo $oft
3.4K / / 20.09.2006
Честно говоря,книги я не использую:)
Это мы делали без книг.А МКЭ у нас только начали преподавать,поэтому особо в него мы не вникали

Именно по теме книга у меня только одна:Зенкевич О.,Морган К.–Конечные элементы и аппроксимация.djvu,тебе наверняка известная;остальные по ANSYS
Цитата:
а почему написано в теме сплюсплюс асм бейсик а сделано на паскале?

Написано,что я желал бы видеть пример в реализации на одном из этих языков.Сделано не на Паскале–это я над skifhead'ом прикалывался.Сделано на VB
А фортран я не знаю

40K
03 августа 2009 года
devil_incarnate
32 / / 16.07.2009
задачка интересная. а можно код опубликовать? ато неудобно читать. Сх,Су - это напряжения в точках перегиба?
7
03 августа 2009 года
@pixo $oft
3.4K / / 20.09.2006
Ну как бы–это и есть весь код,что во вложении в 1м посте.Больше ничего нет:)
Cx,Cy–координаты центра элемента.И напряжений там вовсе нет–это задача по расчёту балки,разбитой на некоторое число конечных элементов.Странная она какая-то–зависит от числа итераций.Так ведь не должно быть!..Если найду,обязательно выложу теорию

Upd:
Вот нашёл.Оформлял не я,так что за оформление прошу не пинать:)
Если ошибки найдёте(а тем паче подскажете,как исправить),буду премного благодарен
40K
05 августа 2009 года
devil_incarnate
32 / / 16.07.2009
1. непонятно на основе чего задаются граничные условия для функции. максимальный прогиб балки в частности.

mx” = Nп-Nл – bx*x’+Px

Nп = (dx1-dx2)*Cx - реакция опоры. стало быть сила. и измеряется в Н
если Cx - значит изм в Н/м - напряжение
Сх может быть ввиде "точечного перемещения" в м

// как граничные условия задаются в проге
Private Const Cx = 100000, Cy = Cx, J = 0.01, m = 2, D = 0.01, n = 0.1 ', P = 2048
Private Const h = 0.000001, k = 16
//
 
Код:
For L = 1 To 3
  For I = 0 To k - 2
   Kf(1, 1) = z(I, L)
   .......
   z(I + 1, L) = z(I, L) + (Kf(1, 1) + 2 * Kf(1, 2) + 2 * Kf(1, 3) + Kf(1, 4)) * h / 6
  Next I
   .......
 Next L


т.е z будет напрямую зависеть от шага h, потому что выбрано такое маленькое количество оборотов цикла. да и в граничные условия, как я говорил ранее, скорее всего неверно заданы.

поясните пож. поэтапно программу, начиная с выбора граничных условий
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог