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

Выгрузка результатов


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

Здравствуйте. Такой вопрос. Мне необходимо подсчитать некоторое значение такого вида - uTKu, где u-вектор перемещений элемента, а K соответственно матрица жесткости элемента. Так вот вопрос в том, каким образом мне получить перемещения элемента. 

Что я попробовал и узнал. Я могу получить эту величину через стандартный get. В таком случае возникает проблема с нумерацией. Как я узнал, в Ansys есть 3 типа нумерации. Первый - пользовательский, это то, что мы видим на экране. Второй - внутренний, это то, как видит нумерацию Ansys(убирает ненужные узлы из общей системы). И третий тип - нумерация решателя, это использование внутренней нумерации, а также возможные оптимизации в ходе решения, которые эту нумерацию еще раз возможно тасуют. Ту величину, что мне нужно посчитать, мне надо посчитать по каждому элементу и просуммировать. С помощью DMAT, SMAT и линейного решателя я сразу могу получить величину всей модели, вытащив общий вектор U и общую матрицу К, в таком случае их нумерация будет совпадать и умножаться будут нужные величины. Но дальше мне нужно использовать именно элементные величины и вот команды для получения вектора перемещений для конкретного элемента с нужной нумерацией я не нашел, пока что метод проб не работает и с помощью DMAT и SMAT я не могу получить вектор для конкретного элемента. Может есть те, кто занимался таким вопросом и сможет помочь. Спасибо.

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


UnPinned posts

@fakemade

Есть команда *EXPORT

Посмотрите, может быть как то сможете ее использовать. Но хз.

 

Ссылка на сообщение
Поделиться на других сайтах
9 часов назад, Борман сказал:

@fakemade

Есть команда *EXPORT

Посмотрите, может быть как то сможете ее использовать. Но хз.

 

Команда EXPORT отвечает за запись результатов в файл. У меня проблема не с записью, а с получением результатов в нужном формате, так как Ansys перенумеровывает все узлы по своему для оптимизации, соответственно и матрицы жесткости элементов составлены с учетом нумерации, которая использовалась при решении.

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

@fakemade

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

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, fakemade сказал:

так как Ansys перенумеровывает все узлы по своему для оптимизации, соответственно и матрицы жесткости элементов составлены с учетом нумерации

Вряд ли Ansys перенумеровывает узлы. Когда вы работаете с матрицами, то вы работаете со степенями свободы.

Перенумеровывают степени свободы. 

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

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

 Первый - пользовательский

Для пользователя он и последний. Нет смысла давать ему внутреннюю кухню :) 

Выбрать элемент и узлы его и все дела. 

Цитата

Вряд ли Ansys перенумеровывает узлы

Тут могут быть для подхода .  Я обычно оптимизировал как раз по узлам граф связности. Просто ради скорости.  Но можно и по степеням свободы. Кстати у Джорджа и Лю была статья где рассматривались как раз матрицы из матриц и их решение. Обычно клетки связанные с узлом полностью заполненные и можно решать сразу относительно них как элементов глобальной матрицы.  Вместо деления будет обращение небольших матриц, а в остальном алгоритмы такие же будут.   Когда-то Икрамов присылал мне список статей на эту тему, если найду письмо, то сфотографирую и размещу   :)   

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

https://ru.wikipedia.org/wiki/Блочная_матрица   Блок можно связать с узлом   :)

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

Я обычно оптимизировал как раз по узлам граф связности.

Вы оптимизировали нумерацию степеней свободы. Но использовали для этого узлы. Скорее всего это был алгоритм Катхилла - Макки. Это ленточный алгоритм. 

Оптимизация это перестановка строк и столбцов в матрице.  Размер матрицы >= количеству узлов. Вы переставляли не одну строку-столбец, а сразу блок степеней свободы (3 или 5 или 6... степеней свободы).

Ansys для оптимизации использует Метис. Это уже оптимизация заполняемости.

 

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

https://en.wikipedia.org/wiki/Graph_partition   граф то не меняется при любых оптимизациях, насколько понимаю... 

Цитата

Это ленточный алгоритм

скорее уж профильный... 

 

https://en.wikipedia.org/wiki/METIS   

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

https://en.wikipedia.org/wiki/Sparse_matrix#Compressed_sparse_column_(CSC_or_CCS)   тема потихоньку развивается, коды новые появляются :)

Интересно, существует ли разреженное представление блочных разреженных матриц  на SQL ?  

Цитата

Ansys для оптимизации использует Метис

Может и что-то свое учитывая кто покупает Ansys , как тут писали... 

Изменено пользователем Fedor
Ссылка на сообщение
Поделиться на других сайтах
21 час назад, fakemade сказал:

Здравствуйте. Такой вопрос. Мне необходимо подсчитать некоторое значение такого вида - uTKu, где u-вектор перемещений элемента, а K соответственно матрица жесткости элемента. Так вот вопрос в том, каким образом мне получить перемещения элемента. 

Что я попробовал и узнал. Я могу получить эту величину через стандартный get. В таком случае возникает проблема с нумерацией. Как я узнал, в Ansys есть 3 типа нумерации. Первый - пользовательский, это то, что мы видим на экране. Второй - внутренний, это то, как видит нумерацию Ansys(убирает ненужные узлы из общей системы). И третий тип - нумерация решателя, это использование внутренней нумерации, а также возможные оптимизации в ходе решения, которые эту нумерацию еще раз возможно тасуют. Ту величину, что мне нужно посчитать, мне надо посчитать по каждому элементу и просуммировать. С помощью DMAT, SMAT и линейного решателя я сразу могу получить величину всей модели, вытащив общий вектор U и общую матрицу К, в таком случае их нумерация будет совпадать и умножаться будут нужные величины. Но дальше мне нужно использовать именно элементные величины и вот команды для получения вектора перемещений для конкретного элемента с нужной нумерацией я не нашел, пока что метод проб не работает и с помощью DMAT и SMAT я не могу получить вектор для конкретного элемента. Может есть те, кто занимался таким вопросом и сможет помочь. Спасибо.

Посмотрите в Help "Degree of Freedom Ordering"  Там есть примеры, как конвертировать из internal в user ordering и наоборот или solver.

Не подойдет?

Ссылка на сообщение
Поделиться на других сайтах
23 часа назад, Fedor сказал:

скорее уж профильный... 

Строка умножается на коэффициент и складывается с другой строкой. Ленточный алгоритм.

23 часа назад, Fedor сказал:

Может и что-то свое учитывая кто покупает Ansys

Дешевле купить разреженный оптимизатор, чем писать свой лучше чем Метис с непонятным результатом.

Предобуславливатель купили, символьную и численную факторизацию купили.

  Это давно уже бизнес, поэтому и покупают, чтобы делать деньги, а не писать что-то своё.

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

Почти все матричные алгоритмы используют скалярные произведения.  :)   

Ссылка на сообщение
Поделиться на других сайтах
37 минут назад, Fedor сказал:

Почти все матричные алгоритмы используют скалярные произведения.  :)   

Если алгоритм решения работает со строками матрицы, то это ленточный алгоритм, если со столбцами, то профильный.

 

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

Я привык к другой терминологии. Лента когда ненулевые по диагоналям. Вот как тут  https://openlibrary.org/works/OL15166836W/Справочник_алгоритмов_на_языке_АЛГОЛ   определяется.  Ну а профильные это как в алгоритмах https://studizba.com/files/show/djvu/303-1-dzhordzh-lyu--chislennoe-reshenie-bol.html этой книжки ... 

 

 

"то это ленточный алгоритм, если со столбцами, то профильный" при LDLt  один раз как со столбцами, другой раз как со строками . У Джорджа и Лю все расписано :) 

Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, Fedor сказал:

Лента когда ненулевые по диагоналям.

:biggrin:

Разреженная матрица заполняется при решении.

Пример разреженной матрицы. 

22.png

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

23.png

Если матрицу хранить по столбцам, то заполняемости при решении не будет. Это и есть профильный способ оптимизации и хранения матриц.

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

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

Это как обычно ваша интерпретация общепринятых концептов :)   

 

image.png

https://translated.turbopages.org/proxy_u/en-ru.ru.8dc4425f-65b4dd52-5e292b15-74722d776562/https/en.wikipedia.org/wiki/Band_matrix

 

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

L+1 - ширина ленты матрицы. Я дал такое же определение.

А теперь напишите чему равен профиль для этой матрицы. Дайте определение профиля.

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

 

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • maxx2000
      конечно есть, apt это  cldata в котором к траекториям может быть добавлено и описание геометрии. 
    • gudi
      там же виндовс  или я ошибаюсь? 
    • Guhl
      Там есть неуправляемый мост на диодах и мост на тиристорах для рекуперации Тиристоры молотят постоянно. Не могу сказать в какой именно момент приходит импульсы на открытие - в начале полуволны или в около ее пика, но зажигание на тиристорах я видел и когда рекуперация не происходила Если вы открыли тиристор, то закроется он только тогда, когда через него прекратится ток, поэтому неважно постоянно приходят импульсы или нет. То есть если даже вы открыли тиристор в момент превышения постоянки, то закрыть вы его все равно не сможете так просто    
    • gudstartup
      они открываются тогда когда напряжение на шине dc выше допустимого иначе они будут вам просто так dc линию просаживать даже когда она в номинале а зачем это надо ? а я понял  чтобы на dc линии дополнительные пульсации создавать  вам может схему привести или вы сами найдете? @Guhl у вас не зародилась в голове мысль зачем ставить управляемый вентиль если он всегда сливает. угол уэ управления меняется можете проверить на ваших любимых древних приводах
    • Guhl
      Аргумент приведете в пользу своего утверждения?
    • AlexKaz
      Выложен конвертер файлов результатов Radioss/OR в d3plot-файлы LS-Prepost. Конвертер позволяет очень сильно упростить жизнь при постобработке, т.к. удобного фриварного нативного просмотрщика результатов OR фактически нет, а юзать Paraview то ещё удовольствие, в основном, из-за отсутствия в Paraview огромного количества фич LS-Prepost.   https://www.vortex-cae.com/vortex-radioss https://github.com/orgs/OpenRadioss/discussions/2361 Видео.
    • gudstartup
      работайте  на повышением квалификации а станок пускай стоит чего ему сделается а чего вы спрашивали то такого чего никто не знает? что у меня неисправно так на этот вопрос вам ни на одном форуме не ответят и даже в сервис-центре не расскажут... биполярники теряют даже большую мощность на себе чем диоды именно поэтому и сделали на тиристорах чтобы радиаторы размером с дом не ставить дурь пишите
    • Alexey8107
      Ладно, я понял. Обычная проблема форумов, если спрашиваешь никто не знает, но как только начинаешь конкретнее вникать, так это и так все знают. Значит бум как обычно, разбираться самостоятельно.
    • Guhl
      Ха, конечно не было Там биполярники стоят на 120А , у которых ток базы 5А А на тиристорах сделано прикольно: тиристоры постоянно молотят и если напряжение шины растёт, то автоматом сливают в сеть, там и управления толком никакого, так, сифу обычное 
    • arsenev
      Спасибо. Так я, конечно, пробовал, но видно всё-таки есть различия.
×
×
  • Создать...