ansys mapdl что это
ansys-mapdl-core 0.60.3
pip install ansys-mapdl-core Copy PIP instructions
Released: Nov 25, 2021
Python interface to MAPDL Service
Navigation
Project links
Statistics
View statistics for this project via Libraries.io, or by using our public dataset on Google BigQuery
License: MIT License (MIT)
Tags ANSYS, MAPDL, gRPC
Requires: Python >=3.6.*
Maintainers
Classifiers
Project description
Overview
The PyMAPDL project supports Pythonic access to MAPDL to be able to communicate with the MAPDL process directly from Python. The latest ansys-mapdl-core package enables a more comprehensive interface with MAPDL and supports:
Here’s a quick demo of PyMAPDL within VSCode:
PyMAPDL works within Jupyter Notebooks, the standard Python console, or in batch mode on Windows, Linux, and even Mac OS.
Documentation and Issues
See the Documentation page for more details, and the Examples gallery for some examples.
Please feel free to post issues and other questions at PyMAPDL Issues. This is the best place to post questions and code.
This project was formerly known as pyansys, and we’d like to thank all the early adopters, contributors, and users who submitted issues, gave feedback, and contributed code through the years. The pyansys project has been taken up Ansys and will be leveraged in creating new Pythonic, cross-platform, and multi-language service based interfaces for Ansys’s products. Your contributions to pyansys has shaped it into a better solution.
The pyansys project is expanding beyond just MAPDL, and while there are many new features and changes to the original Python module, many steps have been taken to ensure compatibility with legacy code while supporting new features. The original python module has been split up into the following projects and modules:
Please visit the GitHub pages for further details regarding each project.
Installation
The ansys-mapdl-core package currently supports Python 3.6 through Python 3.8 on Windows, Mac OS, and Linux.
Install the latest release from PyPi with:
Alternatively, install the latest from PyMAPDL GitHub via:
For a local “development” version, install with:
Dependencies
You will need a local licenced copy of ANSYS to run MAPDL prior and including 2021R1. If you have the latest version of 2021R1 you do not need MAPDL installed locally and can connect to a remote instance via gRPC.
Getting Started
Launch MAPDL Locally
You can launch MAPDL locally directly from Python using launch_mapdl:
This automatically searches for the latest local version of MAPDL, launches it as a background process, and immediately connects to it. You can then start sending python commands to MAPDL.
Launching Manually or Connecting to a Remote Instance
If you wish to connect to a session of MAPDL on a remote computer (either locally the LAN or through the internet), first ensure you have MAPDL started in gRPC server mode. This example assumes you will be launching an instance locally from Windows, but can be easily adapted to run from Linux, or the LAN provided the necessary ports are open. This example specifies the port with -port 50052, but this option can be left out if you plan on using the default port 50052.
Next, connect to the instance of MAPDL from python with:
A successful connection returns:
Should you wish to connect to this instance of MAPDL from a remote computer, you substitute ip= with the LAN or WAN address of the computer you wish to connect to. Depending on your network settings, you may have to open local ports or enable port redirection across the WAN.
Basic Usage
You run MAPDL commands via:
Nearly all the built-in MAPDL commands have an associated pythonic method mapped to it. For example, /PREP7 is:
There are also non-mapdl commands such as mapdl.eplot which plot elements using vtk and pyvista rather than relying on MAPDL’s graphics server. Another is mapdl.vget, which leverages gRPC to rapidly exchange binary arrays from MAPDL to Python rather than relying on file IO to exchange data.
Additionally, there are the post_processing, geometry, and mesh properties, which you can use to perform remote (or local) post processing without result file exchange, display geometry properties, or view mesh statistics. Additionally, there’s the parameters property which shows the active MAPDL parameters, and you can use to send or receive arrays between MAPDL and Python.
See the full documentation at PyMAPDL Documentation for more details.
Run on Docker
Run MAPDL within a container on any OS with docker!
See MAPDL on Docker README for details regarding using MAPDL within a container.
Citing this Module
If you use PyMAPDL for research and would like to cite the module and source, you can visit pyansys Zenodo and generate the correct citation. For example, the BibTex citation is:
Please visit the link above for the most recent citation as the citation here may not be current.
License and Acknowledgments
PyMAPDL is licensed under the MIT license.
This module, ansys-mapdl-core makes no commercial claim over Ansys whatsoever. This tool extends the functionality of MAPDL by adding a Python interface to the MAPDL service without changing the core behavior or license of the original software. The use of the interactive APDL control of PyMAPDL requires a legally licensed local copy of Ansys.
To get a copy of Ansys, please visit Ansys.
Распределенные вычисления
Технология расчета трещин SMART теперь поддерживает DMP. Поскольку DMP практически всегда лучше работает при большом количестве ядер, чем SMP, это должно привести к значительному сокращению времени решения для больших расчетов с использованием технологии SMART в Mechanical APDL.
В версии 19.0 поддержка распределенного решателя на этапе создания суперэлемента (Generation pass) была добавлена с некоторыми ограничениями. Например, не поддерживалось создание предварительно-напряженного суперэлемента и перезапуск этапа создания суперэлемента. В версии 2019 R1 эти ограничения убраны.
В 2019 R1 было внесено несколько улучшений, касающихся обработки контактов в режиме DMP. В предыдущих версиях оба набора контактных и целевых поверхностей для симметричной контактной пары находились в одном домене, что могло приводить к дисбалансу нагрузки. Теперь большие пары контактов могут быть декомпозированы на большое количество ядер, что приводит к улучшению баланса нагрузки между ядрами.
В выходной файл MAPDL были добавлены индикаторы, показывающие дисбаланс нагрузки, вызванный большими контактными парами.
Рисунок 1. Индикаторы, показывающие дисбаланс нагрузки
Для задач с большим количеством контактных элементов по отношению к общему числу элементов, производительность распределенных вычислений может снижаться. Теперь вы можете улучшить производительность, разбив крупные контактные пары (с помощью команд CNCHECK,SPLIT или CNCHECK,DMP) на несколько подпар, так что разделенные контактные пары можно декомпозировать по разным ядрам.
Улучшение масштабирования при использовании команды CNCH,DMP. Тестовая задача:
Рисунок 2. Геометрия тестовой задачи
Рисунок 3. Сравнение производительности в тестовой задаче
В версии 2019 R1 доступны два нововведения, позволяющие уменьшить файл результатов:
Изменение команды OUTRES
Добавлено восемь новых значений параметра ITEM команды OUTRES. Эти новые атрибуты позволяют пользователю контролировать, какие результаты записываются в файл результатов. По умолчанию команда продолжает записывать все результаты.
Новый алгоритм сжатия
Теперь вы можете использовать новый алгоритм сжатия файла результатов (команда /FCOMP,RST,SPARSE). Сжатие, как правило, уменьшает размер файла на 10-50%. Этот метод не оказывает существенного влияния на время решения и время, необходимое для чтения файла результатов.
Рисунок 4. Сравнение размеров файлов результатов
Полунеявный метод решения
Рисунок 5. Теннисный мяч, ударяющийся о сетку
Result Section
Result section представляет собой определяемую пользователем поверхность, которая может использоваться для вывода и контроля значений сил, моментов, теплового потока, массового расхода. Вывод результатов доступен для контактных элементов CONTA172 и CONTA174.
Команда RSMESH автоматически создает сечение для вывода результатов внутри двумерных и трехмерных сеток. Результаты записываются в один текстовый файл Jobname.SECF с указанной вами частотой (OUTPR). Вы также можете отслеживать определенные значения результатов в процессе решения (NLHIST).
Рисунок 6. Пример сечения для результатов
Преобразование деталей
Новая функция преобразование деталей (Part Transform) позволяет переориентировать детали путем указания перемещений и углов поворота или с помощью пары систем координат (исходной и целевой).
Рисунок 7. Преобразование детали
Графический предварительный просмотр позволяет увидеть расположение деталей до и после преобразования. К детали можно применить несколько преобразований. Преобразования применяются в том порядке, в котором они отображаются в дереве. Можно изменить порядок преобразований путем перетаскивания в дереве.
Шаблон моделирования
В новой версии появилась возможность создавать шаблоны моделирования в Mechanical. Вы можете открыть приложение, не прикрепляя геометрию, и настроить расчет с использованием именованных наборов. Определив условия анализа, вы можете сохранить проект и использовать его для любой модели, создав таким образом шаблон моделирования.
Импорт/замена геометрии
В Mechanical на панели инструментов появилась новая опция Attach Geometry, для объекта Geometry, позволяющая импортировать геометрию непосредственно из приложения. После импорта геометрии или, если система уже содержит геометрию, опция «Attach Geometry» заменяется на «Replace Geometry», позволяющую заменить существующую геометрию.
Рисунок 8. Импорт/замена геометрии
Конвекция (опция «Fluid Flow»)
Конвективное граничное условие теперь поддерживает выбор вершин и узлов при использовании информации из линейных тел Thermal Fluid. Эта функция позволяет использовать вершину или узел для получения среднемассовой температуры среды при расчете конвекции.
Рисунок 9. Выбор узла для опции Fluid Flow
Нелинейное адаптивное перестроение сетки
Теперь возможно контролировать частоту записи файлов базы данных перестроения сетки (.RDnn). Для одного шага можно сохранить до 99 файлов.
Новые элементы управления перезапуском теперь доступны в разделе настроек «Nonlinear Adaptivity Remeshing Controls». Эти параметры отвечают за создание точек перезапуска и сохранение файлов после решения.
Рисунок 10. Параметры управления перезапуском адаптивного перестроения сетки
Теперь вы можете включить интенсивное перестроение сетки для создания сеток с лучшими показатели формы. Новая опция, доступная как для двумерных, так и для трехмерных сеток, с большей вероятностью создаст новую сетку лучшего качества, однако она увеличивает время перестроения сетки и может изменять некоторые глобальные параметры управления перестроением сетки, установленные ранее.
Различные улучшения:
Доступен новый пункт меню «File»: «Save Database». Эта опция позволяет вам сохранить текущий сеанс без необходимости сохранения всего проекта. Однако при выходе из приложения вы должны сохранить проект.
Рисунок 11. Новый пункт меню «Save Database»
Объект Project в дереве проекта теперь отображается со звездочкой (*) в имени, которая показывает, что вы не сохранили текущий сеанс Mechanical после последнего изменения.
Рисунок 12. Объект Project
Параметризация времени решения задачи
Объект MAPDL Elapsed Time теперь может быть параметризован и доступен в качестве выходного параметра.
Рисунок 13. Параметризация времени решения задачи
Обновление Solution Combination
В новой версии Solution Combination, пользователь может:
Рисунок 14. Новая версии Solution Combination
Анимация Keyframe
В Mechanical теперь есть функция Keyframe, которая позволяет объединять различные статические изображения модели для создания анимации. Кадры создаются путем позиционирования модели в нужной ориентации и нажатия кнопки «Create Keyframe». Каждый ключевой кадр является начальной и конечной точкой, которые приложение затем связывает вместе, рисуя промежуточные кадры для создания анимации. Приложение интерполирует переход между кадрами для создания плавной анимации. Например, вы можете создать анимацию вращения модели.
Рисунок 15. Пример анимации Keyframe
Экспорт анимации
Появилась поддержка формата GIF для экспорта анимации.
Вы можете синхронизировать анимацию результатов с предварительно определенной анимацией Keyframe.
Экспорт анимации теперь доступен для платформы Linux.
Улучшения Mechanical Scripting API – Камера
Камера в WB представляет собой аналог цифровой камеры
Следующие свойства отвечают за состояние камеры:
Для более удобного управления камерой доступны следующие методы:
Улучшения API для графики
Для манипуляций с графикой и экспорта моделей или изображений добавлены новые API, которые заменяют API ModelViewManager. Кроме того, новые API обеспечивают создание плоскостей сечений.
Графический дисплей можно экспортировать с помощью следующих свойств
Для управления плоскостями сечений можно использовать следующие методы:
Следующие свойства можно использовать для получения/изменения состояния секущей плоскости:
Результаты расчета усталостной прочности
Теперь вы можете экспортировать результаты расчета усталостной прочности Rainflow Matrix и Damage Matrix в виде текстового файла.
Рисунок 16. Экспорт результатов расчета усталостной прочности
Новые возможности ANSYS Mechanical 2021 R2. Часть 1
MAPDL General
Расширение узловых усредненных результатов (NAR)
В среднем уменьшение размера файла RST на 21% при использовании количества, поддерживаемого NAR, вместо хранения на основе элементов.
Шифрование данных материалов
Вы можете защитить свои данные в базе материалов с помощью этой новой функции. Доступны два типа шифрования:
PyAnsys & Python Scripting/Recording
Состоялся официальный релиз PyAnsys:
Теперь пользователи могут использовать Python для написания пользовательских подпрограмм.
Запись команд теперь поддерживается для общих действий, таких как «Solve», «Evaluate results», «new analysis» и вставка новых объектов, таких как «Stress Tools», «Result Plot Trackers» и т. д.
MAPDL Elements
Повышение надежности армирующих элементов
Новая нагрузка на тело для армирующих элементов
Жесткость на поперечный сдвиг в армирующих элементах
Элементы низкого порядка для мультифизического анализа
Возможность массового расхода для тепловых твердотельных элементов
Другие улучшения, связанные с элементами
Сжатие диэлектрического эластомера
Укладка композитной ленты
Structural Optimization
Модуль «Topology Optimization» был переименован в «Structural Optimization». Этот набор инструментов включает в себя несколько технологий: оптимизацию топологии, оптимизацию решетчатой структуры и оптимизацию формы.
В оптимизации формы, сделано много улучшений:
Оптимизация топологии на основе тепловой податливости теперь также доступна для методов Shape и Level Set.
Нагрузки на шарниры «Joint Load» поддерживаются для оптимизации топологии.
Workbench Additive
Сводная информация о обновлении Workbench Additive 2021R2
Сравнение использования постоянной и переменной толщины слоя:
Настройка прямой оптимизации. В 2021 R2 появилась возможность установить выбор метода как ручной для оптимизатора калибровки.
Пользователь может установить следующие параметры калибровки:
Material Designer
Теперь вы можете легко перенести конечно-элементные модели RVE, созданные в Material Designer, в модуль конструкционного анализа. Модель становится доступной в приложении Mechanical для подробной постобработки и пользовательского анализа.
В Workbench теперь доступно подключение нескольких систем Material Designer к одной и той же ячейке Engineering Data. Это позволяет назначать разные гомогенизированные материалы разным телам.
Улучшения анализа коротковолокнистых композитных материалов:
Ansys Composite Prep-post (ACP)
Твердотельное моделирование композитных материалов:
Для импортированных данных по литью под давлением, добавлены дополнительные поддерживаемые форматы:
Надежность электроники
Расширение интеграции Workbench и Sherlock
До 2021 R2 ANSYS Sherlock использовал только те деформации, которые развиваются при частоте максимального отклонения. Хотя эти перемещения обычно оказывают доминирующее влияние на повреждение, во многих ситуациях другие частоты также способствуют повреждению компонентов. В R2 2021 это ограничение преодолевается за счет включения нового метода, который обнаруживает и учитывает результаты как в глобальных, так и в локальных максимумах (в функции частотной характеристики).
Этот рабочий процесс позволяет пользователям назначать категории деталей для пассивных компонентов в библиотеке Sherlock Parts и управлять ими.
Позволяет пользователям экспортировать списки деталей из Sherlock в Medini с информацией, необходимой для анализа режима отказа и назначения частоты отказов в Medini для анализа безопасности системы.
Общие улучшения функциональности:
Дополнительную информацию об этих и других обновлениях можно найти в примечаниях к релизу Ansys Sherlock 2021 R2.
Подходы к моделированию печатных плат:
Неявная несжимаемая формулировка SPG (ISPG)
PyMAPDL Documentation¶
Introduction and Purpose¶
scripting of MAPDL through both Python and Ansys Parametric Design Language (APDL) syntax
plotting of MAPDL geometry and meshes using VTK from within a Python script or an interactive Jupyter notebook
access to MAPDL arrays as Python objects (e.g. nodes, elements, solution matrices, and results)
With PyMAPDL it is easier than ever to integrate the simulation capabilities of the Ansys MAPDL multi-physics solver directly into novel applications thanks to an API that will look familiar to APDL and Python users alike. The package presents a Python-friendly interface to drive the software that manages the submission of low-level APDL commands, while exchanging data through high-performance gRPC interfaces.
Accelerate the preparation of your simulations using PyMAPDL. Combine the expressiveness of general-purpose Python code to control the flow in your input decks with methods that drive the solver. Explore proof of concept studies or capture knowledge using interactive Jupyter notebooks. Tap the solver as the physics engine in your next Artificial Intelligence application. It is now open source: Enjoy it! Contributions are welcome.
Background¶
PyMAPDL, based on gRPC, represents an improvement over its predecessor based on CORBA. These technologies allow the MAPDL solver to function as a server, ready to respond to connecting clients.
Google remote procedure calls, or gRPC, are used to establish secure connections so that a client application can directly call methods on a potentially remote MAPDL instance as if it were a local object. The use of HTTP/2 makes it friendly to modern internet infrastructures. This, along with the use of binary transmission formats, favors higher performance. Using gRPC, PyMAPDL can convert Python statements into APDL commands that can then be transmitted to an MAPDL instance running anywhere, while producing network footprints that are compact and efficient.
Quick Code¶
Here’s a brief example of how PyMAPDL works:
MAPDL is now active and you can send commands to it as a genuine a Python class. For example, if we wanted to create a surface using keypoints we could run:
Calling MAPDL Pythonically¶
MAPDL functions can be called directly from an Mapdl instance in a pythonic manner. This is to simplify calling MAPDL, especially when inputs are variables within Python. For example, the following two commands are equivalent:
This approach takes care of the string formatting for you. For example, inputting points from a numpy array:
Advanced Features¶
All features available to command line MAPDL can be used within PyMAPDL, and there are a variety of new features available through gRPC.
For example view the current mesh status with:
Or save it as vtk with:
You can even plot directly from the Python environment with:
Element Plot from MAPDL using PyMAPDL and vtk ¶
Project Index¶
© Copyright (c) 2021 ANSYS, Inc. All rights reserved.