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

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


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

Здравствуйте. Такой вопрос. Мне необходимо подсчитать некоторое значение такого вида - 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 пользователей

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




  • Сообщения

    • Jesse
      ну , так или иначе кратно и кол-ву лопаток ротора, и кол-ву лопаток статора
    • Snake 60
      @Srgwell А другие макросы работают? Может у Вас проблемы с операционкой или с одним из ее компонентов? PS У меня всё работает, пруф - https://cloud.mail.ru/public/RtFe/A9WJMDLoy
    • mr_Voden
      @radii Пробуй.   post_29.05.24_13.42.rar
    • Killerchik
      Скорее догадки исходя из моих знаний о возможностях Фанука и примеров реализации функции поджима на различных станках. В этом разделе бал тема с разбором программ поджима, где-то в течении последнего года.
    • Stanislav
      Мне просто это выслали на отъеби... для просчета цены. Когда я поинтересовался нужны ли им действительно такие радиусы в углах 0,4мм сказали нет. Когда запросил чертеж с указанием шероховатостей и допусков, разговор был окончен. Ну бросили на шару модель, типа ,скажите за сколько сделаете вдруг за 50 000р сделаете, а если говно получиться то мы скажем что нас не устраивает.     Так как я пишу проги в основном для машиностроения, а там все круглое и квадратное, криволинейных поверхностей нет, то я решил потренироваться. И как я выше уже писал в NX не так то просто изменить радиусы скругления в модели (например на 0,5) на литейных формах, не так просто все удалить и нанести новые. Короче проще попросить конструктора на исходной модели поправить и выслать заново STEP.   Стенки там реально вертикальные в модели. Ну может их устроит, я не литейщик, может пластмассовая деталь вынется после охлаждения. А если они были бы с наклоном то радиусной фрезой катать их пришлось бы ЗЕТЛЕВОЛОМ или по УПРАВЛЯЮЩИМ ПОВЕРХНОСТЯМ.  В общем по времени стоЯть эта деталь на станке будет не мало, соответственно и стОить.    Эрозия есть, только без ЧПУ.  Стоит кокой-то    зеленый уродец. 
    • Srgwell
      Нет, там майн,майн по умолчанию стоит
    • Leon
      @Srgwell Метод запускаемый проверьте.
    • Srgwell
      Такое дело. Я не почувствовал новые изменения по одной причине. Самая последняя версия, которая запускалась это 4.4.1. Все последующие при запуске не реагируют ни как. Тут даже до создания ini не доходило. Судя по количеству байтов менялся только Коперник.swp. Естественно лишние старые файлы перед запуском удалял. Ну может у других все хорошо. Или они просто не пробуют другие версии. SW 2023 sp3.0
    • oleggreen
      Добрый. Ermak 3120. Был небольшой удар листом по стойке. Стойка погасла. При подключении доп монитора на мониторе ошибка систем мисс мач контроллер ребут. Сталкивался ли кто-нибудь с таким. 
    • Александр1979
      https://m.youtube.com/watch?v=YJFnfXLcSEY
×
×
  • Создать...