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

Подскажите по Ansys'у...


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

22.10.2022 в 23:00, статист сказал:

Не знаю в эту тему писать или какую.

Оказывается в Kate есть встроенная подсветка синтаксиса Ansys https://kate-editor.org/

Может кому пригодиться.

Еще там можно прикрутить подсветку Code_Aster https://github.com/psicofil/Code_Aster_Kate_Syntax

,GMSH https://www.pling.com/p/1220774/ (правда у меня пока не заработал), и я так понял, чего угодно, только искать нужно.

 

Обычно прописаны правила организации синтаксиса для подсветки. В Notepad++ и Textpad я для себя сам настраивал. В notepad++ есть, скажем 8 групп ключевых слов, на которые настраиваются цвета, как комментарии выделяютя, операторы и т.д. Важно, например, выставлять опцию заменять табуляцию на пробелы, иначе в apdl полезут грабли, причем не сразу это поймешь даже, а также кодировку windows. Вот пример  настройки синтаксиса в notepad++ 

image.png

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


5 часов назад, Flint_ru сказал:

Обычно прописаны правила организации синтаксиса для подсветки. В Notepad++ и Textpad я для себя сам настраивал.

Я знаю, что в sublime text можно установить подсветку apdl. https://packagecontrol.io/packages/APDL (ANSYS) Syntax Highlighting Я раньше пользовался им. Также Вы показали, что можно напрямую задать в notepad++.

Я уверен, что у каждого опытного пользователя уже найден способ своего написания apdl. Преимущество Kate в том, что синтаксис ansys идет из коробки. Поставил и пользуйся. Думаю начинающим пользователям это будет подспорье.

 

Ссылка на сообщение
Поделиться на других сайтах
  • 3 месяца спустя...

Доброго времени суток. Вопрос в следующем. При написании макросов, при построении геометрии с разными переменными параметрами (размерами), после overlap часто происходит перенумерация V, A, L, KP. Частям модели присваиваются новые номера и ANSYS встаёт, вылетает с ошибками. Как правило не может разбить модель. Может есть какая возможность это победить? Предполагаю, что нумерация производится "в зависимости от положения центров" объёмов, поверхностей и т.д. от начала глобальной CSYS. Есть, конечно, в Main Menu компресс нумерации, но это не панацея. Ansys древний уже, v12.0.

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

@benevolent

можно интерактивно определить номер нужного элемента геометрии, только нужно приблизительно знать положение его цт.

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

@benevolent

можно интерактивно определить номер нужного элемента геометрии, только нужно приблизительно знать положение его цт.

Да, можно, предполагаю Вы имеете ввиду через SEL по by location, затем LIST. Но это очень усложняет и вряд ли будет работать при моделировании с плавающими параметрами. В общем виде сложно определить положение ц.т., к тому же часто требуется разбиение V заданием числа делений L. Если их тоже определять через SEL... это, мягко говоря, очень сложно реализуемо. Сложно поймать ц.т., например сферу в сфере, дуги/цилиндры разных радиусов с одним центром и т.д. Их и руками иногда ловить приходится несколько минут.

В идеале, для макросов было бы лучше иметь возможность присваивать объекту (объёму) метку, и все below имели признак этой метки. Но как бы это выглядело после overlap... )))

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

Но это очень усложняет и вряд ли будет работать при моделировании с плавающими параметрами

А вы огонь кремнием разжигаете или сухим трением?

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

А вы огонь кремнием разжигаете или сухим трением?

Вы применяете такой подход при написании макросов? У Вас это работает, и работает всегда? У меня магнитостатика, необходимо учитывать большое окружающее воздушное пространство, окружающее конструкцию. Бывает по несколько сотен объёмов на модель.

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

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

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

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

логики в этом нет ни какой

Спасибо, немного успокоили.

4 часа назад, dronm сказал:

Как бы и не проблема...

Видимо альтернатив нет. Буду отрабатывать предложенный вариант решения. Ещё раз спасибо.

4 часа назад, dronm сказал:

логики в этом нет ни какой

Спасибо, немного успокоили.

4 часа назад, dronm сказал:

Как бы и не проблема...

Видимо альтернатив нет. Буду отрабатывать предложенный вариант решения. Ещё раз спасибо.

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

Бывает по несколько сотен объёмов на модель

Количество по идее не при чем.

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

 

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

 

Ну ладно, я не так спрашивал, соррян.

Ссылка на сообщение
Поделиться на других сайтах
08.02.2023 в 20:53, soklakov сказал:

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

Я выполнял подобную задачу, только исключительно в ANSYS, и не только построение геометрии, а с выводом результата решения. Т.е. оператор только задаёт параметры модели и на выходе готовый результат. Понятно, что туда входит и присвоение материалов, и разбиение на элементы, и т.д., включая многоуровневые *IF-ы и *DO. Потом, в достаточно простых задачах, при использовании макросов наблюдались описанные выше неприятные вещи. При этом достаточно было немного изменить размер одного или нескольких элементов модели , даже на 1-3%, и макрос продолжал исправно работать. Поэтому и задал вопрос, так как для меня проблема насущная и в моём представлении сталкиваться с ней должны были многие.

Ссылка на сообщение
Поделиться на других сайтах
06.02.2023 в 15:11, benevolent сказал:

Доброго времени суток. Вопрос в следующем. При написании макросов, при построении геометрии с разными переменными параметрами (размерами), после overlap часто происходит перенумерация V, A, L, KP. Частям модели присваиваются новые номера и ANSYS встаёт, вылетает с ошибками. Как правило не может разбить модель. Может есть какая возможность это победить? Предполагаю, что нумерация производится "в зависимости от положения центров" объёмов, поверхностей и т.д. от начала глобальной CSYS. Есть, конечно, в Main Menu компресс нумерации, но это не панацея. Ansys древний уже, v12.0.

В вашем посте сразу несколько проблем.  Давайте попробуем последовательно разобраться.

1.      «Как правило не может разбить модель».    Да, действительно булевы операции с геометрическими примитивами ANSYS выполняет  отвратно.  Очень часто не может выполнить. Бороться с этим сложно.  Из своего опыта могу порекомендовать попробовать: 1) Изменить точность (команда btol). По умолчанию 1е-5. Попробуйте 1е-4, 1е-3,.. Иногда 1е-6 у меня помогало. 2) Надо, например, разделить объем поверхностью. Вместо булевой операции я  иногда удаляю объем (оставляя поверхности) и затем собираю два новых объема по поверхностям, включая ту поверхность, которой надо было разделить. Но это все работа ручками…

2.      «Часто происходит перенумерация. Частям модели присваиваются новые номера»  В общем случае – задача не простая и универсального способа, думаю, нет. Если интересует overlap для поверхностей, то возможны варианты.  Если перекрываются 2 поверхности, а после операции образуется 3 – тут все просто: задача сводится  к определению трех следующих свободных номеров поверхностей.

image.png

Но в общем случае две поверхности могут давать очень много новых. И какие номера конкретно будут у поверхности, думаю, не так важно.  Для инженера важнее логика и принцип, какую конкретно поверхность надо взять. Это конкретная задача и кроме вас никто не скажет. Вот пример пересечения:

image.png

Какая из общих поверхностей вас интересует? И нумерация вам тут не поможет.  Есть общий принцип: нумерация присваивается в порядке доступных свободных номеров. Сначала тем поверхностям, которые общие. Следующий свободный номер  - для наименьшего номера из исходных двух пересекающихся. И, наконец, следующий свободный номер  - для наибольшего номера из исходных двух пересекающихся.  Это все относится только к  перекрытию ДВУХ поверхностей!

3.      Наконец, последняя проблема, вытекающая из вашего топика: а как найти следующий доступный номер (для точки, поверхности, объема,….)  С одной стороны  есть стандартные функции arinqr(0,16), vlinqr(0,16), lsinqur(0,16)…  т.е. next_available_area= arinqr(0,16) присвоит вашей переменной следующий доступный номер. Все хорошо, но есть баг ANSYS. Для точек работает нормально,  но для остальных - после этой команды ANSYS считает, что этот самый номер уже занят (для линий, поверхностей, объемов…). Получается, что толку от этой функции нет.  

4.      Если нужно – во вложении мой макрос, который выдает следующие свободные номера для поверхностей. Входной параметр  arg1 – сколько таких номеров надо извлечь. Разобраться не сложно. И можно переделать для объемов или линий. Эти номера уже можно использовать, они действительно будут использованы, как следующие.

5.      Если у кого нет – выкладываю также файл с описанием функций inquire.  Полезная штука.

next_av_a.mac inquiry_sheet.pdf

Ссылка на сообщение
Поделиться на других сайтах
16.02.2023 в 21:52, Flint_ru сказал:

Для инженера важнее логика и принцип, какую конкретно поверхность надо взять. Это конкретная задача и кроме вас никто не скажет.

Вангую - положения поверхности достаточно в 90% случаев.

Изменено пользователем soklakov
Очепятка
Ссылка на сообщение
Поделиться на других сайтах
16.02.2023 в 22:52, Flint_ru сказал:

В вашем посте сразу несколько проблем.  Давайте попробуем последовательно разобраться.

Вы правильно и логично описали суть проблемы, и варианты её решения. Добавлю следующее.

По 1.: Булевы операции действительно выдают ошибку, с рекомендациями поправить значение в BTOL. Добавлю, что ошибка вылетает (часто, но не всегда) при overlap объёмов с малыми линиями, при условии, что вся модель на порядок (несколько порядков) больше. Например, объём некоторый объём с линией 1 мм, максимальный размер модели  10 м. Решение, это поэтапный overlap объёмов с малыми линиями, с постоянным добавлением более крупных объёмов. (Одним словом частями.) После overlap желательно провести GLUE по всем объёмам, иначе могут быть казусы в решении.

По 2.: Механизм нумерации примерно такой, предполагаю, что здесь ещё участвует центр масс поверхности/объёма, и если бы этот алгоритм ВСЕГДА чётко работал, то с этим не возникло бы проблем. Нумерация при близких параметрах не нарушалась бы.  Однако, при определённых сочетаниях геометрических размеров эта схема нарушается, и, в частности, объёмы, и соответственно below, получают другие номера, даже при близком соотношений размеров объёмов. Если есть сомнения, могу предоставить макрос с командами работающими и вылетающими в ошибки из-за перенумерации.

За предоставленные рекомендации и макросы спасибо.

 

 

Ссылка на сообщение
Поделиться на других сайтах
22.02.2023 в 11:39, benevolent сказал:

Как выбрать V зная его объём, подскажите?

Например так

def_v.mac

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

Спасибо! Вчера сам свой вариант наколхозил.

 

А нельзя просто шагать по телам, дергать у каждого объем, и искать нужный ?

Чисто последовательным алгоритмом, а не ворочать всеми объемами сразу ? 

Ссылка на сообщение
Поделиться на других сайтах
28.02.2023 в 16:25, benevolent сказал:

Спасибо! Вчера сам свой вариант наколхозил.

Что-то я сомневаюсь, что у вас это будет работать нормально: сравнивать по 10 знакам после запятой - это из области фантастики. Вычисление объема или площади - процедура еще та! Простую геометрию - легко, а сложную - тут и начинается свистопляска. У меня было, что результат отличался в 2 раза от истинного. Большая ошибка для вытянутых поверхностей и тонких вытянутых объемов. Само значение зависит, как от параметров тесселации как в команде ASUM, VSUM, так и /FACET.  Наглядный пример - во вложенном файле. Запустите его и на экране увидете результат. Детали -  в начале макроса. Я когда выкладывал макрос - неспроста был второй параметр - точность, чтобы компенсировать ошибки вычислений.

a_test.mac

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

А нельзя просто шагать по телам, дергать у каждого объем, и искать нужный ?

Чисто последовательным алгоритмом, а не ворочать всеми объемами сразу ? 

Когда два объема - можно просто повторить два раза один кусок. Когда объемов много - уже цикл, причем не от 1 до последнего номера, а  по количеству объемов, определяя следующий номер. Условно два объема с номером 1 и 1000. Цикл должен быть от 1 до 2, а не от 1 до 1000, как написано у @benevolent.  Можно использовать и  *if - *go, но это уж самый дурной тон в программировании. В APDL  одно из лучших - матричные операции. Это работает быстрее всего.  В простых задачах  не почувствовать разницы, но когда последовательно проверяется, например, более 1000 объемов, да все это крутится в оптимизации - лучше от циклов вообще отказаться, тем более, что через матричные операции делается не сложно.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Demiurg
      Можете выложить свой шаюлон? Я попробовал, картинки выводятся, зависаний нет.  
    • Snake 60
      Не верная информация, видно зависит от железа. У меня не разблокировалось по умолчанию, помогло вот это видео - https://www.youtube.com/watch?v=vmbjWkmItBQ  
    • gudstartup
      @Alexey8107 а отдельное питание туда зачем приходит ? там явно не только трансформатор и фильтр
    • Alexey8107
      Да, я уже изучил те платы от старых ремонтов, там и судя по всему килоомный резистор в параллель обмотке стоит судя по всему(видимо нагрузочный, чтобы обмотка была нагружена всегда, и RC фильтр. Но не уверен на 100% что это обычный трансформатор тока, хотя все говорит об этом). На одной бахнули IGBT очень смачно, так что там не показатель, выгорело и управление ими. На двух 100% рабочие, там контроль напряжения в отвале, но трансы на 100 всего. Еще на одной, если не ошибаюсь шпиндельной, на 400. Там была проблема с рекуперацией. Так что тоже можно ориентироваться на их исправность.
    • mr_Voden
    • gudstartup
      @Alexey8107 подайте 24 в только на spm и посмотрите будет на нем 30 или нет если будет то для начала смотрите датчики тока на силовой плате    там внутри еще схемка есть для выдачи адекватного сигнала на схему контроля тока. если поставите не родной возможны сбои при работе шпинделя. в худшем случае может они окажуться исправны. сейчас не помню какой там уровень по аварии сравните с соседним модулем контроля тока их там 2. их питание тоже проверьте
    • Alexey8107
      Да, здесь я оговорился. Конечно же резисторы на контроль фаз. Тоже об этом думал, т.к. силовуха ну не имеет явных признаков неисправности, да и в принципе даже включается и работает. На данный момент от предыдущих ремонтов остались трансформаторы тока фанук A44L-0001-0165# на 100, 400 и 600 ампер. Причем номер у всех почему то одинаковый, а ампераж разный. Найти документацию на них я даже не пытался, это невозможно. Надо будет снять и проверить. Если кто знает, это обычный трансформатор тока или все таки какое-нибудь чудо на эффекте холла???
    • Kydes
      Пришлите свою почту, отправлю эти файлы 
    • gudstartup
      вот схема кабеля там еще линия esp есть и интерфейс по которому модули сообщают об ошибках сигнальная пара mifa xmifa возможно именно через него ваш psm получает инфу о том что на dc линии кз. возможно что инфа приходит и от spm но вы почему то исключаете замену psm spm целиком а ограничились платой управления
    • kanapello
×
×
  • Создать...