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

Смена свойств материалов при расчете


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

Доброго времени суток, форумчане. У меня возникла следующая задача. Решается задача в N -е количество (за раннее не известное) временных шагов.

Тип задачи - Static Structural. На первом шаге производится расчет. После выполнения первого шага необходимо сделать анализ на превышение напряжения во всех элементах, и в тех элементах, в которых это превышение произошло - задать свойства второго типа материала. Затем выполнить второй шаг с последующим аналогичным анализом и т. д.

Собственно вопрос заключается в следующем: куда вставлять команд объект, сколько их должно быть и что они должны включать в себя (в самых общих чертах). Я так понимаю должны быть какие то перекрестные ссылки - переходы из Postprocessor в Preprocessor 7. Подскажите кто что знает по этому вопросу.

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


Хотя технически можно создать для каждого шага отдельный Commands Object, в Вашем случае это вряд ли удобно.

Поскольку шагов много, то удобнее будет присоединить к ветке Static Structural Commands Object и оттуда уже полностью взять управление на себя: шаги расчетов и переключение между процессором и постпроцессором.

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

Хорошо, а если упростить задачу до 3 -4 шагов и применить для каждого шага свой команд объект. В этом случае в какой части дерева проекта будет более грамотно вставить команд объекты? Правильно ли я предполагаю структуру команд объекта: захожу в постпроцессор первого расчетного шага, задаю массив значений напряжение в элементах, перехожу в препроцессор 7, делаю сравнение напряжений с заданной величиной, назначаю "предельным" элементам свойства материала№2?

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

Хорошо, а если упростить задачу до 3 -4 шагов и применить для каждого шага свой команд объект.

Не вижу смысла упрощать, но как хотите.

В этом случае в какой части дерева проекта будет более грамотно вставить команд объекты?

Они все идут в Static Structural, а в настройках указывает на каком шаге они включаются.

Правильно ли я предполагаю структуру команд объекта: захожу в постпроцессор первого расчетного шага, задаю массив значений напряжение в элементах, перехожу в препроцессор 7, делаю сравнение напряжений с заданной величиной, назначаю "предельным" элементам свойства материала№2?

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

Добрый день, форумчане. Набросал модель в виде куба. С верху приложено нормальное напряжение вертикально вниз, величина которого растет до 20 кПа, снизу жесткая заделка. Расчет разбит на 2 шага. Вставлен команд объект, запускающийся на втором шаге.

Вот содержание команд объекта:

! Active UNIT system in Workbench when this object was created: Metric (m, kg, N, s, V, A)

/POST1 !Вход в препроцессор результатов

SET,First !Установить первый шаг

ETABLE,STRAIN,S,Y !Создание таблицы напряжений дволь глобальной оси Y (вертикальные напряжения)

ESEL,S,ETAB,STRAIN,-0.015 !Выделение всех элементов с напряжением более -0,015

MPCHG,2,ALL !Присвоить выделенным элементам свойства материала №2

ALLSEL !Выделить все элементы

Как и следовало ожидать - расчет не идет. Выдаются следующие ошибки:

An unknown error occurred during solution. Check the Solver Output on the Solution Information object for possible causes.

Although the solution failed to solve completely at all time points, partial results at some points have been able to be solved. Refer to Troubleshooting in the Help System for more details.

One or more unidentified characters have been detected in the command snippet which have been replaced by underscores while writing the CAERep file but those characters are written to the solver input file. Please check the command snippet carefully to avoid any unintended errors.

Ну и собственно вопросы:

1 Что я делаю не так? подскажите - где ошибка?

2 Почему в результатах расчета в Normal Elastic Strain пишутся единицы измерения "m/m", а не в Па и собственно величина напряжений такая маленькая, ведь я в исходных данных задаю вертикальные напряжения 10 - 20 кПа? Вот на всякий случай файл проекта:

post-33737-1338700901_thumb.png

post-33737-1338701254.png

Proba.rar

post-33737-1338701506_thumb.png

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

Ага, спасибо, исправил. Теперь выдает только одну ошибку:

One or more unidentified characters have been detected in the command snippet which have been replaced by underscores while writing the CAERep file but those characters are written to the solver input file. Please check the command snippet carefully to avoid any unintended errors.

Чтото ему в коде не нравится я так понял. И результаты между шагами не отличаются, а должны вроде как.

Вот исправленный код:

! Active UNIT system in Workbench when this object was created: Metric (m, kg, N, s, V, A)

/POST1 !Вход в препроцессор результатов

SET,First !Установить первый шаг

ETABLE,STRAIN,S,Y !Создание таблицы напряжений дволь глобальной оси Y (вертикальные напряжения)

ESEL,S,ETAB,STRAIN,-10000 !Выделение всех элементов с напряжением более -10000 Па

MPCHG,2,ALL !Присвоить выделенным элементам свойства материала №2

ALLSEL !Выделить все элементы

/SOLU

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

One or more unidentified characters have been detected in the command snippet which have been replaced by underscores while writing the CAERep file but those characters are written to the solver input file. Please check the command snippet carefully to avoid any unintended errors.

на это не обращайте внимания, ему комментарии на русском не нравятся.

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

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

MPCHG,2,ALL !Присвоить выделенным элементам свойства материала №2

Судя по хелпу (v10) эта команда не применима в постпроцессоре.

PS.

STRAIN переводится как ДЕФОРМАЦИЯ!

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

Ага, спасибо, исправил. Теперь выдает только одну ошибку:

One or more unidentified characters have been detected in the command snippet which have been replaced by underscores while writing the CAERep file but those characters are written to the solver input file. Please check the command snippet carefully to avoid any unintended errors.

Чтото ему в коде не нравится я так понял. И результаты между шагами не отличаются, а должны вроде как.

Вот исправленный код:

! Active UNIT system in Workbench when this object was created: Metric (m, kg, N, s, V, A)

/POST1 !Вход в препроцессор результатов

SET,First !Установить первый шаг

ETABLE,STRAIN,S,Y !Создание таблицы напряжений дволь глобальной оси Y (вертикальные напряжения)

ESEL,S,ETAB,STRAIN,-10000 !Выделение всех элементов с напряжением более -10000 Па

MPCHG,2,ALL !Присвоить выделенным элементам свойства материала №2

ALLSEL !Выделить все элементы

/SOLU

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

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

Точно, спасибо. Просто первое слово, которое выдал переводчик - "напрягать", вот я машинально и подумал, что это напряжения. Буду внимательней. На счет коментариев на русском Дмитрий действительно прав - ошибка пропала. Но результат второго шага не отличается от первого, даже после вставки команды KUSE, -1, хотя должны отличаться как минимум потому, что нагрузка (заданные напряжения) на первом и втором шаге разная. Может еще кто что-нибудь подскажет?

Попробовал сделать как сказал YURIS:

......

ESEL,S,ETAB,STRAIN,-10000 !Выделение всех элементов с напряжением более -10000 Па

/SOLU

MPCHG,2,ALL !Присвоить выделенным элементам свойства материала №2

......

Но результат без изменений :g:

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

Вам нужно ПРОДОЛЖИТЬ расчет, или сделать НОВЫЙ на новой модели ?

Мне необходимо чтобы второй шаг задачи считался с учетом того, что у некоторых элементов поменяются свойства на материал №2 в случае превышения вертикального напряжения некоторой "предельной величины". В дальнейшем планирую увеличить число шагов. Я так понимаю что расчет необходимо ПРОДОЛЖИТЬ. Или так невозможно сделать?
Ссылка на сообщение
Поделиться на других сайтах

Нужно ПРОДОЛЖАТЬ.

В классике это нужно делать так ЕСЛИ АНАЛИЗ НЕЛИНЕЙНЫЙ (для линейного все проще)...

1. Сделать первый шаг.

2. В постпроцессоре запомнить нужные элементы.

3. Вернуться в решатель.

4. Сделать restart.

5. Изменить свойства нужных элементов.

6. Сделать второй шаг.

Комментарии:

После рестарта восстанавливаются все параметры модели, которые были на первом шаге. Именно по-этому менять свойства надо после рестарта.

Возможные проблемы:

После рестарта, ВОЗМОЖНО (с большой вероятностью), ваше выбранное множество элементов будет сброшено. Думаю даже если вы это множесто запомните в компоненту, то рестарт уничтожит эту компоненту.

У вас нелинейный анализ, точно ?

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

Нужно ПРОДОЛЖАТЬ.

В классике это нужно делать так ЕСЛИ АНАЛИЗ НЕЛИНЕЙНЫЙ (для линейного все проще)...

1. Сделать первый шаг.

2. В постпроцессоре запомнить нужные элементы.

3. Вернуться в решатель.

4. Сделать restart.

5. Изменить свойства нужных элементов.

6. Сделать второй шаг.

Комментарии:

После рестарта восстанавливаются все параметры модели, которые были на первом шаге. Именно по-этому менять свойства надо после рестарта.

Возможные проблемы:

После рестарта, ВОЗМОЖНО (с большой вероятностью), ваше выбранное множество элементов будет сброшено. Думаю даже если вы это множесто запомните в компоненту, то рестарт уничтожит эту компоненту.

У вас нелинейный анализ, точно ?

Вообще-то я использую материалы с линейными свойствами, т.е. расчет как-бы линейный, но в эту задачу в перспективе еще добавлю рождение/смерть элементов. В этом случае расчет является линейным или нет? Подскажите, как будет выглядеть структура команд объекта при линейном анализе?
Ссылка на сообщение
Поделиться на других сайтах
Дмитрий Фролов

и следите за единицами измерения решателя. у вас в командных вставках стоят н/м - Па, а в активных единицах н/мм - Мпа

поменяйте в Analysis Settings - Analysis Data Management - Solver Units - Manual и Mks

И еще, материала №2 у вас в ходе решения нет. Поскольку он в Mechanical нигде не задействован, то при составлении входного файла для решателя, он просто не включается. Добавьте его командами.

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

Вообще-то я использую материалы с линейными свойствами, т.е. расчет как-бы линейный, но в эту задачу в перспективе еще добавлю рождение/смерть элементов. В этом случае расчет является линейным или нет? Подскажите, как будет выглядеть структура команд объекта при линейном анализе?

Ну не знаю, я бы сделал <noindex>так</noindex>. Цифры брал свои, у вас они какие-то совсем непонятные.

Пускай еще ребята из Делкам-Урала проверят (Дмитрий Фролов), и если все правильно - я ведь тоже могу ошибаться, тогда смело можете применять :biggrin:

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

Вообще-то я использую материалы с линейными свойствами, т.е. расчет как-бы линейный, но в эту задачу в перспективе еще добавлю рождение/смерть элементов. В этом случае расчет является линейным или нет? Подскажите, как будет выглядеть структура команд объекта при линейном анализе?

Расчет нелинейный, свойства материалов меняются, меняется матрица жесткости. Как правило, при переключении свойств материала в solution output можно увидеть напутствие делать расчет нелинейным.
Ссылка на сообщение
Поделиться на других сайтах

Ну не знаю, я бы сделал <noindex>так</noindex>. Цифры брал свои, у вас они какие-то совсем непонятные.

Пускай еще ребята из Делкам-Урала проверят (Дмитрий Фролов), и если все правильно - я ведь тоже могу ошибаться, тогда смело можете применять :biggrin:

Спасибо огромное за помощь. Подскажите для чего необходим этот фрагмент в команд объекте?:

/sys,copy /y "F:\Ansys\Proba\Proba_files\dp0\SYS\MECH\file.db" file.db

/sys,copy /y "F:\Ansys\Proba\Proba_files\dp0\SYS\MECH\file.esav" file.esav

/sys,copy /y "F:\Ansys\Proba\Proba_files\dp0\SYS\MECH\file.rst" file.rst

/sys,copy /y "F:\Ansys\Proba\Proba_files\dp0\SYS\MECH\file.rdb" file.rdb

fini

allsel

и еще один вопросик - что выполняется этим действием:

*get,MYMAT,elem,elnext(0),attr,mat

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

Спасибо огромное за помощь. Подскажите для чего необходим этот фрагмент в команд объекте?:

/sys,copy /y "F:\Ansys\Proba\Proba_files\dp0\SYS\MECH\file.db" file.db

/sys,copy /y "F:\Ansys\Proba\Proba_files\dp0\SYS\MECH\file.esav" file.esav

/sys,copy /y "F:\Ansys\Proba\Proba_files\dp0\SYS\MECH\file.rst" file.rst

/sys,copy /y "F:\Ansys\Proba\Proba_files\dp0\SYS\MECH\file.rdb" file.rdb

fini

allsel

и еще один вопросик - что выполняется этим действием:

*get,MYMAT,elem,elnext(0),attr,mat

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

Команда *get возвращает material ID.

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

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

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

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

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

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

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

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

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

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

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




×
×
  • Создать...