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

Ошибки при решении


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

sergeyd

я вроде бы должен Вас понимать, а не пойму...

Он говорит о том, что у вас проболема не в формулировке элемента (тьфу-тьфу), а в граничных условиях. Кососимметричное преобразование - это как раз и есть насильственное действие над элементом, что бы его повернуть, вокруг некой оси. Увеличение размеров - чисто визуальный эффект и не имеет ничего общего с реальностью.

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

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


уважаемый Борман!

именно оттого,

что я знаю, что представляют оба метода,

удивительным мне было читать написанное как Федором, так и Вами...

еще в первый год "работы по специальности" я сделал подпрограммку PCG на основе книги Уилкинсона

для включения в комплекс МКЭ (разрабатывавшийся у нас в секторе).

рекомендую почитать ее, а также Бурмана и Писсанецки

(точные названия могу найти позже).

и не пкг он, а пэ-цэ-же (Preconditoned Conjugate Gradient- предобусловленный метод сопряженных градиентов)

кстати, на днях решили задачу с 13 миллионами неизвестных!

все же давайте быть точнее в определениях!

все ровно наоборот!

по определению PCG ничего он не нивелирует, а наоборот, все усугубляет...

и именно из-за ошибок округления итераций нужно больше.

и сетку для него нужно аккуратнее!

но здесь конкретно:

то, что на 64 получился маленький минус на диагонали, а на 32 -это ноль- вполне возможно,

но чем это вызвано?

полагаю, суммирование при большой разности жесткостей.

АВТОР???? где ты? заинтриговал!

Изменено пользователем sergeyd
Ссылка на сообщение
Поделиться на других сайтах

еще в первый год "работы по специальности" я сделал подпрограммку PCG на основе книги Уилкинсона

для включения в комплекс МКЭ (разрабатывавшийся у нас в секторе).

рекомендую почитать ее, а также Бурмана и Писсанецки

(точные названия могу найти позже).

по определению PCG ничего он не нивелирует, а наоборот, все усугубляет...

удивительным мне было читать написанное как Федором, так и Вами...

Наверное вы написали какой-то свой собственный метод решения, итерационный, который усугубляет ошибки.

и не пкг он, а пэ-цэ-же (Preconditoned Conjugate Gradient- предобусловленный метод сопряженных градиентов)

Прекондишн Коньюгейт Градиент.

и именно из-за ошибок округления итераций нужно больше.

Не спорю. Это нормальная ситуация. Только вот ошибка округления - это не особенность метода, а особенность "калькулятора"

то, что на 64 получился маленький минус на диагонали, а на 32 -это ноль- вполне возможно,

В любом случае решать такую задачу нельзя. Надо дозакреплять.
Ссылка на сообщение
Поделиться на других сайтах
<noindex>http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%...%82%D0%BE%D0%B2</noindex> здесь посмотрите, если гаринтированно находится решение за n шагов, то какой же метод итерационный? :rolleyes:
Ссылка на сообщение
Поделиться на других сайтах

не ожидал от ВАс, Федор...

ссылаться на википедию, а не на учебник по численным методам,

(нашли одну ссылку в которой ничего не сказано конкретно,

я могу тысячи ссылок найти...)

если речь про ансис, то откройте хоть хелп!!!

в точной арифметике N итераций! при машинной арифметике

может подобиться 2N, 3N или вообще задача не сойдется!

если назвали шагом вместо итераций, так метод не изменился.

когда тестировал (давно уж было) упомянутую здесь программку, (сделанную на основе алгол-программы

из Уилкинсона "Сборник Алгоритмов и программ на языке Алгол. Линейная алгебра. Мир 77)

на примере матрицы-суперэлемента 300*300 (плохообусловленной)

нужно было 800-900 итераций, а не 300!

Простейшее предобуславливание (алгоритм по книге) и расчет сходился за 30-70 итераций

в зависимости от нагрузки.

Прочитайте хоть одну из указанных книг.

именно предобуславливание здесь помогает вероятно

ДО сопряженных градиентов назначается матрица-предобуславливатель (МПО)

например так:

в исходной матрице отбрасываются Малые коэфф и она раскладывается по Холецки.

если умножить этой матрицей (МПО) справа и слева исходную МЖ,то

получившаяся будет иметь число обусловленности на 5-10-15 порядков меньше

и сойдется намного быстрее

Вы замечали, что PCG сходится за разное число ИТЕРАЦИЙ (300-700-1000-1300) вместо N? которое мб миллионы!

как же его называть? Вы им в ансис пользовались?

Видимо, здесь при ПРЕДОБуславливании отбросили "мусорные" коэфф.

Методы предобуславливания задаются PCGOPt, и при разных методах и эффект мб разным.

Изменено пользователем sergeyd
Ссылка на сообщение
Поделиться на других сайтах

" на 64 получился маленький минус на диагонали, а на 32 -это ноль- вполне возможно" - это бред, разрядность чисел всегда double, вопрос только в возможности адресации. А это просто вырубит задачу при выходе адреса за пределы процесса :rolleyes:

"сделанную на основе алгол-программы

из Уилкинсона "Сборник Алгоритмов и программ на языке Алгол. Линейная алгебра. Мир 77" - и чего же не запомнили, что теоретически метод точный. Уилкинсон и Райш грамотные алгебраисты и чепухи не писали. Другое дело, что арифметика паршивая и ошибки быстро копятся при плохой обусловленности.

Предобусловленность иногда улучшает свойства неявно, корректируя направление шага, но это процесс неустойчивый. Об этом можете у Голуба посмотреть.

В принципе на этой арифметике можно решать где-то до числа обусловленности 10e 12 , а больше уже проблематично, но и прямые методы такие нормально перемалывают :rolleyes:

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

Но это только при одной из схем алгоритма. При другой схеме, которая у Уилкинсона, вроде, хуже поведение. Или наоборот, подзабыл мелочи уже :rolleyes:

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

"Сборник Алгоритмов и программ на языке Алгол. Линейная алгебра. Мир 77

Имеется книга "Numerical Recipes in C",

Copyright © Cambridge University Press 1988, 1992 except for §13.10 and Appendix B, which are placed into the public domain, and except for all other computer programs and procedures, which are Copyright © Numerical Recipes Software 1987, 1988, 1992, 1997, 2002

All Rights Reserved.

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

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

Фаддеев и Фаддеева не хуже. У Воеводина прекрасный справочник :rolleyes:

"ссылаться на википедию" - невежливо отправлять далеко, если есть близко.

Одно из правил инженера в мультике о Путешествии вокруг света в 80 дней

- используй то, что под рукой и не ищи себе другого :rolleyes::rolleyes::rolleyes:

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

Федор!

вы все опять не по существу!

причем, наугад выдергиваете у меня отдельные фразы.

про 32 и 64 я уж промолчу... называть "бредом" непонятое... 2**(-32) и 2**(-64)... причем тут адрес, если это результат промежуточной операции...

так все же итерационный ли метод? Читали ли Вы упоминаемые книги?

что В них пишут про PCG?

Все ссылки на первой странице гугла (кроме вики) Явно назыаают метод итерационным.

видно даже в скриншоте...

НО ВАМ грешно не знать этого и без инета... Позавчера была защита у дипломников по прикладной математике МГСУ.

Там подобное бы не прокатило...

Все же Ваша версия проблемы САБЖА? Вы что-то советуете?

Изменено пользователем sergeyd
Ссылка на сообщение
Поделиться на других сайтах

Зато не насмешу людей с мат-меха :rolleyes:

www.pinega.da.ru

Кстати, что за сажу Вы упомянули?

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

вы за мат-мех то не ручайтесь...

им Ваше мнение про неитерационный PCG и n шагов еще забавнее покажется.

хотите убедиться?

Кстати, что за сажу Вы упомянули?

повнимательнее, пж-ста. САБЖ!

из Вашего же основного источника общих знаний:

"Сабж — Википедия

Слово «сабж» может употребляться в тексте самого сообщения в качестве анафорического местоимения, отсылая к содержанию поля Subj (Тема). ...

ru.wikipedia.org/wiki/Сабж

"

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

так и писали бы по английски, делов то.

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

Было смешно, как сейчас русифицированные команды в autocad :rolleyes:

"хотите убедиться?" давайте повеселимся, молодость вспомним, как это им удастся

построить больше чем n линейно-независимых векторов в n- мерном пространстве :rolleyes::rolleyes::rolleyes:

Шмидт за такое что-нибудь бы да оторвал :rolleyes:

"Методами сопряженных направлений для решения систем линейных уравнений AX=F

называются методы, в которых решение X представляется в виде линейной комбинации

векторов, ортогональных в некоторой метрике, так или иначе связанной с матрицей системы

это Вам для затравки :rolleyes:

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

Становится веселее :rolleyes:

Для начала лучше вспомнить божественный концепт Лейбница о лучшем из возможных

миров и понять какая матрица является лучшей в качестве предобуславливающей :rolleyes:

Эмкэшники мы или просто пивка попить пришли в поисках новизны да актуальности? :unsure:

"справа и слева " - два то зачем? Одного удара подправить хватит в нужном направлении :unsure:

Тут как с укладкой кирпичей, главное знать куда постучать :rolleyes:

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

приехали!

Вам, ИСПА, я несколько лет назад уже пытался объяснить, что такое динамическая конденсация...

мне до сих пор достаточно...

+

меня недавно позабавило читать, как Вам пытались объяснить разницу между явными и неявными методами.

+

у меня мало терпения и свободного времени.

в своей программе ВЫ, видимо, предобуславливания не делаете?

итерационных методов у Вас до сих пор не реализовано? все еще фронтальный совершенствуете?

обгоняете ансис?

для начала Перечитайте (Прочитайте) хоть одну из упомянутых Выше книг.

пообсуждайте лучше суждения Федора.

2 федор!

вы вообще применяли хоть раз в жизни (я не спрашиваю, реализовывали) сопр градиенты

с предобуславливанием для МКЭ-матриц?

я даже не спрашиваю про ансис...

сколько у вас потребовалось итераций (пардон, шагов)? ровно n?

+

столько смайликов я видел только на детских форумах.

давайте беседовать не между собой, а по существу.

Вам есть посоветовать автору темы?

Изменено пользователем sergeyd
Ссылка на сообщение
Поделиться на других сайтах

"вы вообще применяли хоть раз в жизни (я не спрашиваю, реализовывали) сопр градиенты

с предобуславливанием для МКЭ-матриц" - да с этого каждый студент начинает, который графов не знает

и с памятью толком работать не умеет :rolleyes::rolleyes::rolleyes:

Причем уже лет 30-40. Не случайно же Вы с алгола программу переписывали :rolleyes:

С литературой по Ansys на русском Вы видимо не знакомы, иначе видели бы благодарность мне от Кости :unsure:

Кстати. Ответьте-ка на вопрос, что делает каждый программист и на чем пишите, коль не понимаете,

что все полезные советы автору вопроса я уже дал :rolleyes:

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

А смайлики можете еще посмотреть на форуме ЛГ. Там их больше. Философы веселые и смешные мужики и дамы, или господа и бабы. Не решил еще что точнее :rolleyes:

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

Федор!

да знаком я с этой литературой (и сам сейчас ее пишу) и с Басовым знаком...и на конференциях был и выступал...

и с Вами мы разок в Эмаше встретились...и проговорили на лестнице часок.

а можно было бы сколько угодно... увели...

ТОгда мы говорили и о "математике". а сейчас, полагаете, со мной разговаривать бесполезно ?

+

здесь речь же не об "вообще математике", а о МКЭ и PCG...

+

именно оттого мне настолько неожиданным оказалось от ВАС было услышать подобное.

я ведь спрашивал не про студентов "без графов", а конкретно когда именно Вы работали с PCG?

(студенты-то эти вещи не успели забыть... 24го убедился.

и про умножение с обеих сторон и предобуславливатели и разреженность они не хуже иных профессоров понимают.

а про степень полезности Ваших советов пусть судят те, кому Вы их даете...

а что я делаю и что программирую - (если интересно) через личку.

"строительная математика", говорите... ну-ну.

Изменено пользователем sergeyd
Ссылка на сообщение
Поделиться на других сайтах

Не, не надо в личку, это не интересно, если публично стесняетесь Бейсика :rolleyes:

Косте привет.

Лет 5-10 назад написал статью о предобуславливателях, и направлениях, да при переустановке

системы нечаянно снес, а восстанавливать не интересно, так как любопытство удовлетворено :rolleyes:

"про умножение с обеих сторон" - с двух то зачем, если для поворота вектора направления достаточно одного? :rolleyes:

На вопрос о наилучшем из возможных Вы не ответили, не уважаете Лейбница и Лагранжа :unsure:

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

только из глубокого уважения к Вам, Федор!

простейшее предобуславливание по Уилкинсону.

исходная матрица [A]- плохо обусловлена.

создается диагональная матрица с коэффициентами (aii)**(-1/2)

Выполним

t*[A]*=[C]

все сii=1.0

cij=aij/sqrt(aii*aij)

обусловленность матрицы cond[C]<1.

и сходится она сопряженными градиентами в сотни раз быстрее.

что и применял я (едва, придя на работу).

БОлее сложные алгоритмы хорошо описаны в книге Бурмана и др. 88 год

примерно "применение суперэлементов в расчетах" (на работе книга)(пакет СУМРАК)

НАПРИМЕР,

Если в качестве предобуславливателя использовать готовый результат разложения

(фактор [D]) "похожей" матрицы [A1]=[D]T[D], [A1]=[A]+[a0],

то понадобится "не очень много" (n/1000 скажем) итераций.

В нелинейных расчетах- это мб рез решения на прошлой итерации

в линейных-

отбросьте сравнит малые коэфф, перенумеруйте- заполненность (и лента, фронт, профиль) уменьшится на порядок

решите с одинарной точностью

(это ведь В десятки-сотни раз быстрее, чем разложение исходной матрицы)

[D]t*[A]*[D]=

Матрица становится прекрасно обусловленной и быстрее решается

для вычисления достаточно решить прямым и обратным ходом и умножить

подобно тому, как это делается в методе итераций подпростарнства и методе Ланцоша

для разреженной проблемы собственных значений. (надеюсь, это не нужно пересказывать)

Где-то так.

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

только из глубокого уважения к Вам, Федор!

простейшее предобуславливание по Уилкинсону.

(точнее по Якоби, JCG)

исходная матрица [A]- плохо обусловлена.

создается диагональная матрица с коэффициентами (aii)**(-1/2)

Выполним

t*[A]*=[C]

все сii=1.0

cij=aij/sqrt(aii*aij)

обусловленность матрицы cond[C]<1.

и сходится она сопряженными градиентами в сотни раз быстрее.

что и применял я (едва, придя на работу).

и с перевода с алгола все только начиналось, поскольку речь шла о матрицах, не помещавшихся в принЦипе в ОП

(как бы вы ее не организовывали) - сотни тысяч и миллионы уравнений и даже в упакованном виде матрицы

большие...и организовывать нужно было чтение-запись порциями...

БОлее сложные алгоритмы хорошо описаны в книге Бурмана и др. 88 год

примерно "применение суперэлементов в расчетах" (на работе книга)(пакет СУМРАК)

НАПРИМЕР,

Если в качестве предобуславливателя использовать готовый результат разложения

(фактор [D]) "похожей" матрицы [A1]=[D]T[D], [A1]=[A]+[a0],

то понадобится "не очень много" (n/1000 скажем) итераций.

В нелинейных расчетах- это мб рез решения на прошлой итерации

в линейных-

отбросьте сравнит малые коэфф, перенумеруйте- заполненность (и лента, фронт, профиль) уменьшится на порядок

решите с одинарной точностью

(это ведь В десятки-сотни раз быстрее, чем разложение исходной матрицы)

[D]t*[A]*[D]=

один из вариантов этой схемы называют неполным разложением Холецки. (ICCG)

Матрица становится прекрасно обусловленной и быстрее решается

для вычисления достаточно решить прямым и обратным ходом и умножить

подобно тому, как это делается в методе итераций подпростарнства и методе Ланцоша

для разреженной проблемы собственных значений. (надеюсь, это не нужно пересказывать?)

и нигде полных матриц не появляется...

сейчас разрабатываются различные схемы предобуславливания.

даже в ансис их несколько, у каждой свои нюансы.

Тема очень интересная, я был бы рад пообсуждать и это и

принципиально новые подходы (безотносительно ансис)

но пересказывать то, что давно должно быть известно любому специалисту МКЭ???

Где-то так.

Изменено пользователем sergeyd
Ссылка на сообщение
Поделиться на других сайтах

Спасибо, но это технология приближений к идеалу, а я спрашивал о наилучшем предобуславливателе как предельном концепте. К чему стремиться то и чем за это платить :rolleyes:

Смысл то в чем его натурфилософский?

В мкэ мы знаем божественный принцип минимума, потому, что с квадратичными функционалами работаем.

Неужели он исчезает? Был-был и пропал. Так же не бывает по законам сохранения :rolleyes:

Наводящий вопрос. Какая матрица обладает наилучшим числом обусловленности?

"обусловленность матрицы cond[C]<1" - уберите эту глупость и посмотрите определение числа обусловленности :rolleyes:

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Snake 60
      @eljer0n  Откройте макрос SaveDRW.swp редактором VBA Найдите вот эти строки: Поменяйте выделенную цифру на нужную вам 3 или 4 - это количество символов которое останется от имени конфигурации. PS При сохранении в PDF тоже ругается на неправильное название чертежа, т.к. тоже обрезает название конфигурации до двух знаков, там тоже надо править при желании...
    • eljer0n
      @malvi.dp в общем порядок следующий (на каждое исполнение свой чертеж и позиция в спецификации):   Для исполнения с 2мя знаками. 1. Есть деталь с именем формата ХХ-01.01-01 (последнее -01 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации (как у вас на картинке). Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с корректным именем. 5. В спецификации сборки все отображается корректно.     Для исполнения с 3мя знаками. 1. Есть деталь с именем формата ХХ-01.01-011 (последнее -011 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации. Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с некорректным именем, а именно - с обрезанным до двух знаков исполнением (-01). 5. В спецификации сборки шифр отображается (внезапно! может какой глюк был: у солида или у меня ) корректно, как и у вас на рисунке.     Выходит, загвоздка все-таки только в сохранялке чертежа.
    • gudstartup
      да информация о решенной проблеме очень важна так что будем ждать хороших новостей!
    • mrVladimir
      @gudstartup Спасибо Вам за помощь. Теперь дело в приобретении платы. Как что-то получится (сперва приобрести, потом поставить) обязательно отпишусь.
    • gudstartup
      а как вы taxid фирмы нашли?
    • gudstartup
      все что я написал в цитате выше по теме полная фигня в связи с вновь приобретённой информацией. можно менять любые компоненты в пределах серии чпу если только не меняете по или записываете oprminf но  всегда могут быть нюансы  @mrVladimir все должно получиться извините за то что выдал непроверенную информацию за мнение типа знающего эксперта оказывается я 
    • malvi.dp
      Какое у детали имя файла и как формируете Обозначение и Наименование? Вы каждое исполнение сохраняете в новый чертеж? Или это групповой чертеж? Если групповой-то имя конфигурации в нем быть не должно. Стоит ли галочка "Исполнение" "Из конфигурации"? На сколько мне не изменяет память макрос сохраняет файл чертежа с тем же именем что и файл модели в папке модели. В спецификации все правильно отображается, даже если знаков исполнений больше трех  
    • gudstartup
      и главная деталь чтобы на системе была remote option system а именно файл oprminf.000 c сертификатами и были ли проблемы с ними после замены компонентов.
    • boomeeeer
      с него родимого
    • Grundick
×
×
  • Создать...