diff --git a/.github/workflows/ci_cd.yml b/.github/workflows/ci_cd.yml index 9170cf3c0..76d218acb 100644 --- a/.github/workflows/ci_cd.yml +++ b/.github/workflows/ci_cd.yml @@ -11,7 +11,7 @@ on: - '242' - '241' description: 'The Mechanical revision number to run tests on.' - default: '241' #stable version is 241, must match $stable_container + default: '242' #stable version is 242, must match $stable_container schedule: - cron: '00 22 * * *' # UTC time, may start 5-15 mins later than scheduled time # registry_package: @@ -35,11 +35,13 @@ env: DOCUMENTATION_CNAME: mechanical.docs.pyansys.com MAIN_PYTHON_VERSION: '3.10' # DEV_REVN & its Docker image are used in scheduled or registry package runs - DEV_REVN: '242' - DEV_DOCKER_IMAGE_VERSION: '24.2_candidate' + DEV_REVN: '251' + DEV_DOCKER_IMAGE_VERSION: '25.1_candidate' MEILISEARCH_API_KEY: ${{ secrets.MEILISEARCH_API_KEY }} MEILISEARCH_HOST_URL: ${{ vars.MEILISEARCH_HOST_URL }} MEILISEARCH_PUBLIC_API_KEY: ${{ secrets.MEILISEARCH_PUBLIC_API_KEY }} + LICENSE_SERVER: ${{ secrets.LICENSE_SERVER }} + ANSYSLMD_LICENSE_FILE: 1055@${{ secrets.LICENSE_SERVER }} concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -104,39 +106,39 @@ jobs: name: Save variations of revn runs-on: ubuntu-latest outputs: - # ghcr.io/ansys/mechanical:24.1.0 + # ghcr.io/ansys/mechanical:24.2.0 stable_container: ${{ steps.save-versions.outputs.stable_container }} - # '241' or '242' + # '242' or '251' test_revn: '${{ steps.save-versions.outputs.test_revn }}' - # ghcr.io/ansys/mechanical:24.1.0 or ghcr.io/ansys/mechanical:24.2.0 + # ghcr.io/ansys/mechanical:24.2.0 or ghcr.io/ansys/mechanical:25.1.0 test_container: ${{ steps.save-versions.outputs.test_container }} - # '24.1.0' or '24.2.0' + # '24.2.0' or '25.1.0' test_docker_image_version: '${{ steps.save-versions.outputs.test_docker_image_version }}' steps: - id: save-versions run: | if ${{ github.event_name == 'schedule' }}; then - # 242 - echo "test_revn=${{ inputs.mech_revn }}" >> $GITHUB_OUTPUT + # 251 + echo "test_revn=${{ env.DEV_REVN}}" >> $GITHUB_OUTPUT # ghcr.io/ansys/mechanical:24.2_candidate echo "test_container=${{ env.DOCKER_PACKAGE }}:${{ env.DEV_DOCKER_IMAGE_VERSION }}" >> $GITHUB_OUTPUT - # 24.2_candidate + # 25.1_candidate echo "test_docker_image_version=${{ env.DEV_DOCKER_IMAGE_VERSION }}" >> $GITHUB_OUTPUT else if [[ -z "${{inputs.revn}}" ]]; then - export mech_revn=241 + export mech_revn=242 else export mech_revn=${{inputs.revn}} fi export mech_image_version=${mech_revn:0:2}.${mech_revn:2}.0 - echo "test_revn=${{ env.LATEST_STABLE_REVN }}" >> $GITHUB_OUTPUT - # ghcr.io/ansys/mechanical:24.1.0 + echo "test_revn=$mech_revn" >> $GITHUB_OUTPUT + # ghcr.io/ansys/mechanical:24.2.0 echo "test_container=${{ env.DOCKER_PACKAGE }}:$mech_image_version" >> $GITHUB_OUTPUT - # 24.1.0 + # 24.2.0 echo "test_docker_image_version=$mech_image_version" >> $GITHUB_OUTPUT fi - echo "stable_container=${{ env.DOCKER_PACKAGE }}:24.1.0" >> $GITHUB_OUTPUT + echo "stable_container=${{ env.DOCKER_PACKAGE }}:24.2.0" >> $GITHUB_OUTPUT config-matrix: runs-on: ubuntu-latest @@ -147,10 +149,10 @@ jobs: - id: set-matrix run: | # Run all stable mechanical versions release tags - # For nightly scheduled runs use pre-release (242_candidate) - # For pull requests and merges use latest stable version (241) + # For nightly scheduled runs use pre-release (25.1_candidate) + # For pull requests and merges use latest stable version (242) if ${{ github.event_name == 'push' }} && ${{ contains(github.ref, 'refs/tags') }}; then - echo "matrix={\"mechanical-version\":['23.1.0', '23.2.0', '24.1.0'],\"experimental\":[false]}" >> $GITHUB_OUTPUT + echo "matrix={\"mechanical-version\":['23.2.0', '24.1.0', '24.2.0'],\"experimental\":[false]}" >> $GITHUB_OUTPUT else echo "matrix={\"mechanical-version\":['${{ needs.revn-variations.outputs.test_docker_image_version }}'],\"experimental\":[false]}" >> $GITHUB_OUTPUT fi @@ -173,7 +175,6 @@ jobs: - name: Pull, launch, and validate Mechanical service env: - LICENSE_SERVER: ${{ secrets.LICENSE_SERVER }} MECHANICAL_IMAGE: ${{ env.DOCKER_PACKAGE }}:${{ matrix.mechanical-version }} run: | docker pull ${{ env.MECHANICAL_IMAGE }} @@ -281,8 +282,6 @@ jobs: - name: Unit Testing and coverage env: - LICENSE_SERVER: ${{ secrets.LICENSE_SERVER }} - ANSYSLMD_LICENSE_FILE: 1055@${{ secrets.LICENSE_SERVER }} ANSYS_WORKBENCH_LOGGING_CONSOLE: 0 ANSYS_WORKBENCH_LOGGING: 0 ANSYS_WORKBENCH_LOGGING_FILTER_LEVEL: 2 @@ -355,8 +354,6 @@ jobs: - name: Embedding scripts unit testing and coverage env: - LICENSE_SERVER: ${{ secrets.LICENSE_SERVER }} - ANSYSLMD_LICENSE_FILE: 1055@${{ secrets.LICENSE_SERVER }} ANSYS_WORKBENCH_LOGGING_CONSOLE: 0 ANSYS_WORKBENCH_LOGGING: 0 ANSYS_WORKBENCH_LOGGING_FILTER_LEVEL: 2 @@ -437,8 +434,6 @@ jobs: - name: Unit Testing and coverage env: - LICENSE_SERVER: ${{ secrets.LICENSE_SERVER }} - ANSYSLMD_LICENSE_FILE: 1055@${{ secrets.LICENSE_SERVER }} ANSYS_WORKBENCH_LOGGING_CONSOLE: 0 run: | unset PYMECHANICAL_PORT @@ -509,8 +504,6 @@ jobs: - name: Build docs env: NUM_CORES: 1 - LICENSE_SERVER: ${{ secrets.LICENSE_SERVER }} - ANSYSLMD_LICENSE_FILE: 1055@${{ secrets.LICENSE_SERVER }} ANSYS_WORKBENCH_LOGGING_FILTER_LEVEL: 0 run: | . /env/bin/activate diff --git a/.gitignore b/.gitignore index 28551ae87..59aad13ac 100644 --- a/.gitignore +++ b/.gitignore @@ -197,6 +197,7 @@ doc/source/examples/gallery_examples/*/*.rst doc/source/examples/gallery_examples/*/*.pickle doc/source/examples/gallery_examples/**/*.png doc/source/sg_execution_times.rst + # Ignore everything in the doc/source/api/ directory doc/source/api/* # This file is for the ansys-tools-path diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b9604c5a5..532f81d88 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -11,7 +11,7 @@ repos: - id: black - repo: https://github.com/adamchainz/blacken-docs - rev: 1.16.0 + rev: 1.18.0 hooks: - id: blacken-docs additional_dependencies: [black==24.4.2] @@ -34,11 +34,14 @@ repos: args: ["--ignore-words", "doc/styles/config/vocabularies/ANSYS/accept.txt", "-w"] - repo: https://github.com/ansys/pre-commit-hooks - rev: v0.3.2 + rev: v0.4.1 hooks: - id: add-license-headers args: - --start_year=2022 + - id: tech-review + args: + - --product=mechanical - repo: https://github.com/pycqa/pydocstyle rev: 6.3.0 @@ -66,7 +69,7 @@ repos: - id: check-added-large-files - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.28.5 + rev: 0.29.0 hooks: - id: check-github-workflows diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 686939194..1889b6c30 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,16 +1,12 @@ -# Contributors +# Contribute -## Project Lead +Overall guidance on contributing to a PyAnsys library appears in the +[Contributing] topic in the *PyAnsys developer's guide*. Ensure that you +are thoroughly familiar with this guide before attempting to contribute to +PyMechanical. -* [Sam Sangili](https://github.com/samigithub2022) -* [Mohamed Koubaa](https://github.com/koubaa) +The following contribution information is specific to PyMechanical. -## Individual Contributors +[Contributing]: https://dev.docs.pyansys.com/how-to/contributing.html -* [Alexander Kaszynski](https://github.com/akaszynski) -* [Dipin Nair](https://github.com/dipinknair) -* [Kathy Pippert](https://github.com/PipKat) -* [Kerry McAdams](https://github.com/klmcadams) -* [Maxime Rey](https://github.com/MaxJPRey) -* [Revathy Venugopal](https://github.com/Revathyvenugopal162) -* [Roberto Pastor](https://github.com/RobPasMue) + \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md new file mode 100644 index 000000000..686939194 --- /dev/null +++ b/CONTRIBUTORS.md @@ -0,0 +1,16 @@ +# Contributors + +## Project Lead + +* [Sam Sangili](https://github.com/samigithub2022) +* [Mohamed Koubaa](https://github.com/koubaa) + +## Individual Contributors + +* [Alexander Kaszynski](https://github.com/akaszynski) +* [Dipin Nair](https://github.com/dipinknair) +* [Kathy Pippert](https://github.com/PipKat) +* [Kerry McAdams](https://github.com/klmcadams) +* [Maxime Rey](https://github.com/MaxJPRey) +* [Revathy Venugopal](https://github.com/Revathyvenugopal162) +* [Roberto Pastor](https://github.com/RobPasMue) diff --git a/README.rst b/README.rst index 13abef4d1..7e43e7b31 100644 --- a/README.rst +++ b/README.rst @@ -70,14 +70,14 @@ Getting started PyMechanical uses the built-in scripting capabilities of Mechanical. For information on the scripting APIs available, see the `Scripting in Mechanical Guide -`_ in the +`_ in the Ansys Help. Configuring the mechanical installation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ On a Windows system, the environment variable ``AWP_ROOT`` is configured when Mechanical is -installed, where ```` is the Mechanical release number, such as ``231`` for release 2023 R1. +installed, where ```` is the Mechanical release number, such as ``242`` for release 2024 R2. PyMechanical automatically uses this environment variable (or variables if there are multiple installations of different versions) to locate the latest Mechanical installation. On a Linux system, you must configure the ``AWP_ROOT`` environment variable to point to the @@ -112,8 +112,7 @@ Using an embedded instance of Mechanical as a Python object PyMechanical also supports directly embedding an instance of Mechanical as a Python object. In this mode, there is no externally running instance of Mechanical. This feature is supported -on Windows for version 2023 R1 and later, and on Linux for version 2023 R2 -and later. Here is an example: +on Windows and Linux for version 2023 R2 and later. Here is an example: .. code:: python diff --git a/doc/changelog.d/760.added.md b/doc/changelog.d/760.added.md new file mode 100644 index 000000000..699bc55be --- /dev/null +++ b/doc/changelog.d/760.added.md @@ -0,0 +1 @@ +FEAT: Add known issues and limitation section \ No newline at end of file diff --git a/doc/changelog.d/773.dependencies.md b/doc/changelog.d/773.dependencies.md new file mode 100644 index 000000000..3503dd2a4 --- /dev/null +++ b/doc/changelog.d/773.dependencies.md @@ -0,0 +1 @@ +MAINT: Bump numpy from 1.26.4 to 2.0.0 \ No newline at end of file diff --git a/doc/changelog.d/786.changed.md b/doc/changelog.d/786.changed.md new file mode 100644 index 000000000..aa2b5aa64 --- /dev/null +++ b/doc/changelog.d/786.changed.md @@ -0,0 +1 @@ +chore: update CHANGELOG for v0.11.1 \ No newline at end of file diff --git a/doc/changelog.d/787.added.md b/doc/changelog.d/787.added.md new file mode 100644 index 000000000..210d9d7cd --- /dev/null +++ b/doc/changelog.d/787.added.md @@ -0,0 +1 @@ +FEAT: Add test for building gallery \ No newline at end of file diff --git a/doc/changelog.d/788.dependencies.md b/doc/changelog.d/788.dependencies.md new file mode 100644 index 000000000..915601242 --- /dev/null +++ b/doc/changelog.d/788.dependencies.md @@ -0,0 +1 @@ +MAINT: Bump the doc group with 4 updates \ No newline at end of file diff --git a/doc/changelog.d/789.changed.md b/doc/changelog.d/789.changed.md new file mode 100644 index 000000000..b42b24103 --- /dev/null +++ b/doc/changelog.d/789.changed.md @@ -0,0 +1 @@ +[pre-commit.ci] pre-commit autoupdate \ No newline at end of file diff --git a/doc/changelog.d/790.added.md b/doc/changelog.d/790.added.md new file mode 100644 index 000000000..9d52b84f7 --- /dev/null +++ b/doc/changelog.d/790.added.md @@ -0,0 +1 @@ +FEAT: Add graphics and globals \ No newline at end of file diff --git a/doc/changelog.d/796.miscellaneous.md b/doc/changelog.d/796.miscellaneous.md new file mode 100644 index 000000000..de40ffd0a --- /dev/null +++ b/doc/changelog.d/796.miscellaneous.md @@ -0,0 +1 @@ +docs: update architecture.rst \ No newline at end of file diff --git a/doc/changelog.d/800.fixed.md b/doc/changelog.d/800.fixed.md new file mode 100644 index 000000000..e520d4251 --- /dev/null +++ b/doc/changelog.d/800.fixed.md @@ -0,0 +1 @@ +Fix sentence in architecture file \ No newline at end of file diff --git a/doc/changelog.d/801.changed.md b/doc/changelog.d/801.changed.md new file mode 100644 index 000000000..b42b24103 --- /dev/null +++ b/doc/changelog.d/801.changed.md @@ -0,0 +1 @@ +[pre-commit.ci] pre-commit autoupdate \ No newline at end of file diff --git a/doc/changelog.d/802.added.md b/doc/changelog.d/802.added.md new file mode 100644 index 000000000..8331349ab --- /dev/null +++ b/doc/changelog.d/802.added.md @@ -0,0 +1 @@ +feat: add --script-args argument to ansys-mechanical \ No newline at end of file diff --git a/doc/changelog.d/803.changed.md b/doc/changelog.d/803.changed.md new file mode 100644 index 000000000..84bebc014 --- /dev/null +++ b/doc/changelog.d/803.changed.md @@ -0,0 +1 @@ +MAINT: Update nightly runs for 251 \ No newline at end of file diff --git a/doc/changelog.d/804.added.md b/doc/changelog.d/804.added.md new file mode 100644 index 000000000..f2f5875a0 --- /dev/null +++ b/doc/changelog.d/804.added.md @@ -0,0 +1 @@ +FEAT: Update print_tree method \ No newline at end of file diff --git a/doc/changelog.d/805.dependencies.md b/doc/changelog.d/805.dependencies.md new file mode 100644 index 000000000..21b4b7be2 --- /dev/null +++ b/doc/changelog.d/805.dependencies.md @@ -0,0 +1 @@ +MAINT: Bump the doc group with 2 updates \ No newline at end of file diff --git a/doc/changelog.d/806.changed.md b/doc/changelog.d/806.changed.md new file mode 100644 index 000000000..ee5d79de0 --- /dev/null +++ b/doc/changelog.d/806.changed.md @@ -0,0 +1 @@ +MAINT: Refactor CICD \ No newline at end of file diff --git a/doc/changelog.d/810.changed.md b/doc/changelog.d/810.changed.md new file mode 100644 index 000000000..10d33fda7 --- /dev/null +++ b/doc/changelog.d/810.changed.md @@ -0,0 +1 @@ +MAINT: Update for 24R2 \ No newline at end of file diff --git a/doc/changelog.d/811.changed.md b/doc/changelog.d/811.changed.md new file mode 100644 index 000000000..8d15337eb --- /dev/null +++ b/doc/changelog.d/811.changed.md @@ -0,0 +1 @@ +MAINT: update for docker files 24R2 \ No newline at end of file diff --git a/doc/changelog.d/812.miscellaneous.md b/doc/changelog.d/812.miscellaneous.md new file mode 100644 index 000000000..7f06c3e6e --- /dev/null +++ b/doc/changelog.d/812.miscellaneous.md @@ -0,0 +1 @@ +fix exception when plotting a model with any line bodies \ No newline at end of file diff --git a/doc/changelog.d/814.dependencies.md b/doc/changelog.d/814.dependencies.md new file mode 100644 index 000000000..d15dad4b0 --- /dev/null +++ b/doc/changelog.d/814.dependencies.md @@ -0,0 +1 @@ +MAINT: Update dev version of pymechanical \ No newline at end of file diff --git a/doc/changelog.d/815.changed.md b/doc/changelog.d/815.changed.md new file mode 100644 index 000000000..a3bbe32d9 --- /dev/null +++ b/doc/changelog.d/815.changed.md @@ -0,0 +1 @@ +Update ACT API Reference Guide link \ No newline at end of file diff --git a/doc/changelog.d/818.dependencies.md b/doc/changelog.d/818.dependencies.md new file mode 100644 index 000000000..712a03974 --- /dev/null +++ b/doc/changelog.d/818.dependencies.md @@ -0,0 +1 @@ +MAINT: Bump sphinx from 7.3.7 to 7.4.4 in the doc group \ No newline at end of file diff --git a/doc/changelog.d/819.changed.md b/doc/changelog.d/819.changed.md new file mode 100644 index 000000000..b42b24103 --- /dev/null +++ b/doc/changelog.d/819.changed.md @@ -0,0 +1 @@ +[pre-commit.ci] pre-commit autoupdate \ No newline at end of file diff --git a/doc/changelog.d/821.dependencies.md b/doc/changelog.d/821.dependencies.md new file mode 100644 index 000000000..208c3a8ef --- /dev/null +++ b/doc/changelog.d/821.dependencies.md @@ -0,0 +1 @@ +MAINT: Update pymech-env \ No newline at end of file diff --git a/doc/source/architecture.rst b/doc/source/architecture.rst index 4dd8fc2c1..199d7901c 100644 --- a/doc/source/architecture.rst +++ b/doc/source/architecture.rst @@ -21,12 +21,11 @@ solvers can be integrated into Mechanical and can take advantage of the powerful meshing, generic CAD reader, and the intuitive pre- and post- processing experience of Mechanical. -Before discussing how Mechanical's API is implemented, the software design -pattern known as the *command pattern* is explored. This pattern can be used in many -programming languages. For a general description (using the Java programming -language) of the command pattern, see `Command Design Pattern -`_ in the -*HowToDoInJava* newsletter. +Before discussing how Mechanical's API is implemented, let’s first look at the software design +pattern known as the *command pattern*. You can use this pattern with many programming languages. +For a general description (using the Java programming language) of the command pattern, see +`Command Design Pattern `_ +in the *HowToDoInJava* newsletter. Command pattern --------------- @@ -222,4 +221,4 @@ Python. .. [#f4] *Undo* and *redo* are often implemented using a command pattern. They store all executed commands in a stack. Each command not only has the ability to execute, it also has the ability to undo itself. Undo and redo are then implemented by walking up and down the stack and executing the Command or its inverse function. .. [#f5] The Internet Protocol (IP) model is a layered description and specification that describes how information moves on the internet. .. [#f6] Actually, for normal procedure calls within an address space, there needs to be a similar handshake about how the inputs and arguments are passed. This is called a calling convention, and describes what to do with CPU registers. -.. [#f7] HTTPS, HTTP/2, and HTTP/3. \ No newline at end of file +.. [#f7] HTTPS, HTTP/2, and HTTP/3. diff --git a/doc/source/changelog.rst b/doc/source/changelog.rst index 49c8e4faa..f5aafc870 100644 --- a/doc/source/changelog.rst +++ b/doc/source/changelog.rst @@ -10,7 +10,7 @@ This document contains the release notes for the project. .. towncrier release notes start `0.11.1 `_ - 2024-06-21 - +=================================================================================== Added ^^^^^ diff --git a/doc/source/conf.py b/doc/source/conf.py index 431d3a4ae..35d8da6a6 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -301,6 +301,7 @@ "https://ansysaccount.b2clogin.com/*", "https://answers.microsoft.com/en-us/windows/forum/all/*", "https://download.ansys.com/*", + "https://support.ansys.com/*", "../api/*", # Remove this after release 0.10.12 "path.html", ] diff --git a/doc/source/getting_started/docker.rst b/doc/source/getting_started/docker.rst index 118bf58ba..cf696fbbd 100644 --- a/doc/source/getting_started/docker.rst +++ b/doc/source/getting_started/docker.rst @@ -53,7 +53,7 @@ Launch Mechanical with this code: .. code:: LICENSE_SERVER=1055@XXX.XXX.XXX.XXX - VERSION=v23.1.0 + VERSION=v24.2.0 IMAGE=ghcr.io/ansys/pymechanical/mechanical:$VERSION docker run -e ANSYSLMD_LICENSE_FILE=$LICENSE_SERVER -p ip:10000:10000 $IMAGE @@ -93,8 +93,8 @@ Verify your connection with this code: >>> mechanical Ansys Mechanical [Ansys Mechanical Enterprise] - Product Version:231 - Software build date:Wednesday, August 10, 2022 4:28:15 PM + Product Version:242 + Software build date: 06/03/2024 14:47:58 Additional considerations ------------------------- diff --git a/doc/source/getting_started/installation.rst b/doc/source/getting_started/installation.rst index 32eb795be..d3c284016 100644 --- a/doc/source/getting_started/installation.rst +++ b/doc/source/getting_started/installation.rst @@ -69,10 +69,10 @@ This package is required to use PyMechanical. or - >>> find_mechanical(version=231) # for specific version + >>> find_mechanical(version=242) # for specific version - ('C:/Program Files/ANSYS Inc/v231/aisol/bin/winx64/AnsysWBU.exe', 23.1) # windows - ('/usr/ansys_inc/v231/aisol/.workbench', 23.1) # Linux + ('C:/Program Files/ANSYS Inc/v242/aisol/bin/winx64/AnsysWBU.exe', 24.2) # windows + ('/usr/ansys_inc/v242/aisol/.workbench', 24.2) # Linux If you install Ansys in a directory other than the default or typical location, you can save this directory path using the @@ -84,15 +84,15 @@ and ``version_from_path`` functions to verify the path and version. .. code:: pycon >>> from ansys.tools.path import save_mechanical_path, find_mechanical - >>> save_mechanical_path("home/username/ansys_inc/v231/aisol/.workbench") + >>> save_mechanical_path("home/username/ansys_inc/v242/aisol/.workbench") >>> path = get_mechanical_path() >>> print(path) - /home/username/ansys_inc/v231/aisol/.workbench + /home/username/ansys_inc/v242/aisol/.workbench >>> version = version_from_path("mechanical", path) - 231 + 242 Verify a remote session ^^^^^^^^^^^^^^^^^^^^^^^ @@ -106,8 +106,8 @@ Verify your installation by starting a remote session of Mechanical from Python: >>> mechanical Ansys Mechanical [Ansys Mechanical Enterprise] - Product Version:231 - Software build date:Wednesday, August 10, 2022 4:28:15 PM + Product Version:242 + Software build date: 06/03/2024 14:47:58 If you see a response from the server, you can begin using Mechanical as a service. @@ -137,8 +137,8 @@ Inside of Python, use the following commands to load an embedded instance: >>> app = App() >>> print(app) Ansys Mechanical [Ansys Mechanical Enterprise] - Product Version:232 - Software build date: 05/30/2023 15:25:53 + Product Version:242 + Software build date: 06/03/2024 14:47:58 .. LINKS AND REFERENCES .. _ansys_tools_path_api: https://github.com/psf/black diff --git a/doc/source/getting_started/running_mechanical.rst b/doc/source/getting_started/running_mechanical.rst index 63289dc06..79415e0d7 100644 --- a/doc/source/getting_started/running_mechanical.rst +++ b/doc/source/getting_started/running_mechanical.rst @@ -45,8 +45,8 @@ Launch Mechanical locally with this code: >>> mechanical Ansys Mechanical [Ansys Mechanical Enterprise] - Product Version:231 - Software build date:Wednesday, August 10, 2022 4:28:15 PM + Product Version:242 + Software build date: 06/03/2024 14:47:58 Launch Mechanical from the command line ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -67,7 +67,7 @@ usage, type the following command: The following example demonstrates the main use of this tool: - $ ansys-mechanical -r 241 -g + $ ansys-mechanical -r 242 -g Starting Ansys Mechanical version 2024R1 in graphical mode... @@ -96,7 +96,7 @@ usage, type the following command: application when in graphical mode. --debug Show a debug dialog window at the start of the process. - -r, --revision INTEGER Ansys Revision number, e.g. "241" or "232". If + -r, --revision INTEGER Ansys Revision number, e.g. "242" or "241". If none is specified, uses the default from ansys- tools-path -g, --graphical Graphical mode @@ -168,7 +168,7 @@ for the `launch_mechanical()`_ method. from ansys.mechanical.core import launch_mechanical - exec_loc = "C:/Program Files/ANSYS Inc/v231/aisol/bin/winx64/AnsysWBU.exe" + exec_loc = "C:/Program Files/ANSYS Inc/v242/aisol/bin/winx64/AnsysWBU.exe" mechanical = launch_mechanical(exec_loc) **On Linux** @@ -177,7 +177,7 @@ for the `launch_mechanical()`_ method. from ansys.mechanical.core import launch_mechanical - exec_loc = "/usr/ansys_inc/v231/aisol/.workbench" + exec_loc = "/usr/ansys_inc/v242/aisol/.workbench" mechanical = launch_mechanical(exec_loc) If, when using the `launch_mechanical()`_ @@ -224,8 +224,8 @@ Python code >>> mechanical = App() >>> mechanical Ansys Mechanical [Ansys Mechanical Enterprise] - Product Version:231 - Software build date:Wednesday, August 10, 2022 4:28:15 PM + Product Version:242 + Software build date: 06/03/2024 14:47:58 Additional information for Linux ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/source/index.rst b/doc/source/index.rst index 55354e03f..bbf459aef 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -47,6 +47,7 @@ user_guide_session/index user_guide_embedding/index user_guide_scripting/index + kil/index api/index contributing changelog diff --git a/doc/source/kil/index.rst b/doc/source/kil/index.rst new file mode 100644 index 000000000..ac0a34b8a --- /dev/null +++ b/doc/source/kil/index.rst @@ -0,0 +1,45 @@ +.. _ref_known_issues_and_limitation: + +Known issues and limitations +============================ + +Note the following known issues and limitations. Some features may not be fully compatible across different versions of **Mechanical** and **PyMechanical**. +Ansys recommends that you always use the latest version of both to achieve the best results. + +.. + This toctree must be a top-level index to get it to show up in + pydata_sphinx_theme. + +.. toctree:: + :maxdepth: 2 + :hidden: + + + mechanical + pymechanical + +.. grid:: 2 + :gutter: 2 2 3 4 + + .. grid-item-card:: :fas:`fa-solid fa-gears` Mechanical + :link: mechanical + :link-type: doc + :text-align: center + + Known issues and limitations of Standalone Mechanical + + .. grid-item-card:: :fab:`fa-brands fa-python` PyMechanical + :link: pymechanical + :link-type: doc + :text-align: center + + Known issues and limitations of PyMechanical + +Support +======= + +If you encounter any issues or limitations that hinder your work, please contact our support team immediately. +We are committed to providing timely assistance to ensure your projects run smoothly. + +- Mechanical : `Customer portal `_ +- PyMechanical : Create issue in github or contact `pyansys team `_ \ No newline at end of file diff --git a/doc/source/kil/mechanical.rst b/doc/source/kil/mechanical.rst new file mode 100644 index 000000000..dec3532af --- /dev/null +++ b/doc/source/kil/mechanical.rst @@ -0,0 +1,33 @@ +.. _ref_kil_mechanical: + +Mechanical standalone +===================== + +In addition to Standalone Mechanical known issues and limitations given below, +please refer + +- `Mechanical API known issues and limitations`_. +- `ACT known issues and limitations`_. + +Known issues and limitations +---------------------------- + +24R2 +^^^^ + +- In Read Only mode, the application does not display error messages when the geometry is imported in batch mode. +- Section planes can not be added through batch mode. +- Mechanical is not thread safe. +- Spaceclaim geometry (.scdocx) can not be imported on Linux platform. +- On Linux based platforms, Ansys Motion and LSDYNA analysis support are limited. + + +24R1 +^^^^ + +- `Python libraries `_ + that are distributed with the installation of Mechanical does not work when there are syntax differences + between IronPython and CPython (`#515 `_). +- Trace Import fails with PyMechanical Embedding when using ``python 3.10`` only. + + diff --git a/doc/source/kil/pymechanical.rst b/doc/source/kil/pymechanical.rst new file mode 100644 index 000000000..57ed01c07 --- /dev/null +++ b/doc/source/kil/pymechanical.rst @@ -0,0 +1,17 @@ +.. _ref_kil_pymechanical: + +PyMechanical +============ + +Known issues and limitations +---------------------------- + +We suggest to use latest stable version of PyMechanical. +Any issues and limitations for previous versions are not currently documented. +If you find any other, please create an issue `here `_ + +v0.11.x +^^^^^^^^ + +- ``App.plot()`` visualization feature is available only for geometry. You cannot plot mesh or results + but you can export these data as images or an animation. diff --git a/doc/source/links.rst b/doc/source/links.rst index 7c05eebd8..ec1b0f4b2 100644 --- a/doc/source/links.rst +++ b/doc/source/links.rst @@ -1,7 +1,9 @@ -.. #Pyansys +.. # Pyansys .. _pyansys: https://docs.pyansys.com/ .. _pyansys_support: pyansys.support@ansys.com +.. # PyMechanical related +.. _pymechanical_issue: https://github.com/ansys/pymechanical/issues .. # PyMechanical Embedding Examples related .. _pymechanical_embedding_ex_doc: https://embedding.examples.mechanical.docs.pyansys.com/ .. _pymechanical_embedding_ex_repo: https://github.com/ansys/pymechanical-embedding-examples @@ -15,4 +17,8 @@ .. _Mechanical Users Guide: https://ansyshelp.ansys.com/account/secured?returnurl=/Views/Secured/corp/%%VERSION%%/en/wb_sim/ds_Home.html .. _Chapter 6: https://ansyshelp.ansys.com/account/secured?returnurl=/Views/Secured/corp/%%VERSION%%/en/installation/unix_silent.html .. _Chapter 7: https://ansyshelp.ansys.com/account/secured?returnurl=/Views/Secured/corp/%%VERSION%%/en/installation/win_silent.html -.. _ACT API Reference Guide: https://ansyshelp.ansys.com/account/secured?returnurl=/Views/Secured/corp/%%VERSION%%/en/act_ref/act_ref.html \ No newline at end of file + +.. # Mechanical related +.. _ACT API Reference Guide: https://developer.ansys.com/docs/mechanical-scripting-interface/api/ansys/mechanical/stubs/v241/index.md #TODO this should be update to 241 when 24r2 api ref gets released +.. _Mechanical API known issues and limitations: https://ansyshelp.ansys.com/account/secured?returnurl=/Views/Secured/corp/%%VERSION%%/en/act_script/mech_apis_KIL.html?q=known%20issues +.. _ACT known issues and limitations: https://ansyshelp.ansys.com/account/secured?returnurl=/Views/Secured/corp/%%VERSION%%/en/act_dev/act_dev_knownissues.html \ No newline at end of file diff --git a/doc/source/user_guide_embedding/index.rst b/doc/source/user_guide_embedding/index.rst index 712e5bb11..7733d11d2 100644 --- a/doc/source/user_guide_embedding/index.rst +++ b/doc/source/user_guide_embedding/index.rst @@ -105,7 +105,7 @@ versions can be specified using ``-r`` flag. Use ``-h`` for more information. .. code:: - "C:/Program Files/ANSYS Inc/v241/aisol/bin/winx64/AnsysWBU.exe -DSApplet -AppModeMech -script file.py" + "C:/Program Files/ANSYS Inc/v242/aisol/bin/winx64/AnsysWBU.exe -DSApplet -AppModeMech -script file.py" PowerShell users can run the preceding command without including the opening and closing quotation marks. diff --git a/doc/source/user_guide_embedding/libraries.rst b/doc/source/user_guide_embedding/libraries.rst index 3f1305e2c..592216e7c 100644 --- a/doc/source/user_guide_embedding/libraries.rst +++ b/doc/source/user_guide_embedding/libraries.rst @@ -26,10 +26,10 @@ To use the above function, run the following: from ansys.mechanical.core import App from ansys.mechanical.core.embedding import add_mechanical_python_libraries - app = App(version=241) + app = App(version=242) add_mechanical_python_libraries(app) - import materials # This is materials.py that's shipped with Mechanical v241 + import materials # This is materials.py that's shipped with Mechanical v242 .. warning:: diff --git a/doc/source/user_guide_session/pool.rst b/doc/source/user_guide_session/pool.rst index ded6e0f36..1172ce8fe 100644 --- a/doc/source/user_guide_session/pool.rst +++ b/doc/source/user_guide_session/pool.rst @@ -12,7 +12,7 @@ This code shows how to create a pool with 10 instances: .. code:: pycon >>> from ansys.mechanical.core import LocalMechanicalPool - >>> pool = LocalMechanicalPool(10, version="231") + >>> pool = LocalMechanicalPool(10, version="242") 'Mechanical Pool with 10 active instances' When you are creating a pool, you can supply additional keyword arguments. @@ -22,7 +22,7 @@ For example, to restart failed instances, you can set ``restart_failed=True``: >>> import os >>> my_path = os.getcmd() - >>> pool = LocalMechanicalPool(10, version="231", restart_failed=True) + >>> pool = LocalMechanicalPool(10, version="242", restart_failed=True) Creating Pool: 100%|########| 10/10 [00:01<00:00, 1.43it/s] You can access each individual instance of Mechanical with this code: diff --git a/doc/source/user_guide_session/server-launcher.rst b/doc/source/user_guide_session/server-launcher.rst index 239ffee3c..24a815762 100644 --- a/doc/source/user_guide_session/server-launcher.rst +++ b/doc/source/user_guide_session/server-launcher.rst @@ -24,13 +24,13 @@ Mechanical executable file. .. code:: - Enter location of Mechanical executable: /usr/ansys_inc/v231/aisol/.workbench + Enter location of Mechanical executable: /usr/ansys_inc/v242/aisol/.workbench **On Windows** .. code:: - Enter location of Mechanical executable: C:/Program Files/ANSYS Inc/v231/aisol/bin/winx64/AnsysWBU.exe + Enter location of Mechanical executable: C:/Program Files/ANSYS Inc/v242/aisol/bin/winx64/AnsysWBU.exe The settings file for Mechanical is stored locally. You do not need to enter the path again. If you must change the path, perhaps to change the default @@ -40,7 +40,7 @@ version of Mechanical, run the following: from ansys.mechanical import core as pymechanical - new_path = "C:/Program Files/ANSYS Inc/v231/aisol/bin/winx64/AnsysWBU.exe" + new_path = "C:/Program Files/ANSYS Inc/v242/aisol/bin/winx64/AnsysWBU.exe" pymechanical.change_default_mechanical_path(new_path) For more information, see the `change_default_mechanical_path() <../api/_autosummary/ansys.tools.path.change_default_mechanical_path.html#ansys.tools.path.change_default_mechanical_path>`_ @@ -55,7 +55,7 @@ Mechanical executable file. from ansys.mechanical.core import launch_mechanical - mechanical = launch_mechanical(exec_file="/usr/ansys_inc/v231/aisol/.workbench") + mechanical = launch_mechanical(exec_file="/usr/ansys_inc/v242/aisol/.workbench") **On Windows** @@ -64,7 +64,7 @@ Mechanical executable file. from ansys.mechanical.core import launch_mechanical mechanical = launch_mechanical( - exec_file="C:\\Program File\\ANSYS Inc\\v231\\aisol\\bin\\winx64\\AnsysWBU.exe" + exec_file="C:\\Program File\\ANSYS Inc\\v242\\aisol\\bin\\winx64\\AnsysWBU.exe" ) You can use the ``additional_switches`` keyword argument to specify additional arguments. @@ -73,7 +73,7 @@ You can use the ``additional_switches`` keyword argument to specify additional a from ansys.mechanical.core import launch_mechanical - custom_exec = "/usr/ansys_inc/v231/aisol/.workbench" + custom_exec = "/usr/ansys_inc/v242/aisol/.workbench" add_switch = f"-featureflags mechanical.material.import;" mechanical = launch_mechanical(additional_switches=add_switch) diff --git a/doc/styles/config/vocabularies/ANSYS/accept.txt b/doc/styles/config/vocabularies/ANSYS/accept.txt index 810c1ef8a..9b631819e 100644 --- a/doc/styles/config/vocabularies/ANSYS/accept.txt +++ b/doc/styles/config/vocabularies/ANSYS/accept.txt @@ -55,4 +55,6 @@ cli VPN ACT globaly -ans \ No newline at end of file +ans +spaceclaim +github \ No newline at end of file diff --git a/docker/231/.dockerignore b/docker/231/.dockerignore deleted file mode 100644 index c6c00fcf8..000000000 --- a/docker/231/.dockerignore +++ /dev/null @@ -1,360 +0,0 @@ -# combine files needed for mechanical and mapdl - -# ignore all .a files ( static libraries ) -**/*.a - -# ignore the .txt files -*.txt - -# ignore the log files -ansys_inc/*.log - -# ignore the license file -ansys_inc/shared_files/licensing/ansyslmd.ini - -ansys_inc/v231/ACP - -ansys_inc/v231/Addins -!ansys_inc/v231/Addins/ACT -!ansys_inc/v231/Addins/EngineeringData -!ansys_inc/v231/Addins/JobManager -!ansys_inc/v231/Addins/JobMgrAdapter -!ansys_inc/v231/Addins/Units - -ansys_inc/v231/aisol/BladeModeler -ansys_inc/v231/aisol/FEModeler - -ansys_inc/v231/aisol/dll/linx64/libans.blademodeler.ndfutilitiescom.so -ansys_inc/v231/aisol/dll/linx64/libans.blademodeler.dmaddincom.so -ansys_inc/v231/aisol/dll/linx64/ans.blademodeler.dmaddincom.rsb -ansys_inc/v231/aisol/dll/linx64/libans.blademodeler.bg41objectscom.so -ansys_inc/v231/aisol/dll/linx64/ans.blademodeler.bg41objectscom.rsb -ansys_inc/v231/aisol/dll/linx64/libans.blademodeler.tgproxycom.so -ansys_inc/v231/aisol/dll/linx64/ans.blademodeler.tgproxycom.rsb -ansys_inc/v231/aisol/dll/linx64/libans.blademodeler.objectscom.so -ansys_inc/v231/aisol/dll/linx64/ans.blademodeler.objectscom.rsb -ansys_inc/v231/aisol/dll/linx64/libans.addins.parameshcom.so -ansys_inc/v231/aisol/dll/linx64/ans.addins.parameshcom.rsb -ansys_inc/v231/aisol/dll/linx64/libans.addins.parameshkernelcom.so -ansys_inc/v231/aisol/dll/linx64/ans.addins.parameshkernelcom.rsb -ansys_inc/v231/aisol/dll/linx64/libans.addins.parameshobjectscom.so -ansys_inc/v231/aisol/dll/linx64/ans.addins.parameshobjectscom.rsb -ansys_inc/v231/aisol/dll/linx64/libans.addins.parameshutilitiescom.so -ansys_inc/v231/aisol/dll/linx64/ans.addins.parameshutilitiescom.rsb -# Ans.Common.ManagedEntry loading depends on this -# ansys_inc/v231/aisol/bin/linx64/Ans.AQWA.RemoteItf.dll -# ansys_inc/v231/aisol/bin/linx64/Ans.AQWA.RemoteLib.dll - -ansys_inc/v231/Additive - -# not available on linux -# ansys_inc/v231/AddPrint - -ansys_inc/v231/commonfiles/CAD/Hoops - -ansys_inc/v231/commonfiles/CAD/Spatial - -# needed for mapdl -# having + in the pattern produces the following error -# error from sender: failed to match excludepatterns: syntax error in pattern -# let us not ignore this folder in the mechanical images -# ansys_inc/v231/commonfiles/AAS -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libACE.so -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libACE.so.7.0.2 -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libACEXML.so -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libACEXML.so.7.0.2 -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libACEXML_Parser.so -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libACEXML_Parser.so.7.0.2 -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libMapdlExceptionClient.so -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libstdc++.so -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libstdc++.so.6 -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libstdc++.so.6.0.25 -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libTAO.so -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libTAO.so.3.0.2 -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libTAO_AnyTypeCode.so -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libTAO_AnyTypeCode.so.3.0.2 -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libTAO_BiDirGIOP.so -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libTAO_BiDirGIOP.so.3.0.2 -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libTAO_CodecFactory.so -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libTAO_CodecFactory.so.3.0.2 -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libTAO_PI.so -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libTAO_PI.so.3.0.2 -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libTAO_PortableServer.so -# !ansys_inc/v231/commonfiles/AAS/bin/linx64/libTAO_PortableServer.so.3.0.2 - -# needed for mapdl -# ansys_inc/v231/commonfiles/AMD -ansys_inc/v231/commonfiles/SystemCoupling - -# needed for mapdl -ansys_inc/v231/commonfiles/Tcl -!ansys_inc/v231/commonfiles/Tcl/lib/linx64/libjpeg.so -!ansys_inc/v231/commonfiles/Tcl/lib/linx64/libpng.so -!ansys_inc/v231/commonfiles/Tcl/lib/linx64/libtiff.so -!ansys_inc/v231/commonfiles/Tcl/lib/linx64/libz.so - -ansys_inc/v231/commonfiles/CFX -ansys_inc/v231/commonfiles/Textures -ansys_inc/v231/commonfiles/tools - -ansys_inc/v231/dcs - -# not available on linux -# ansys_inc/v231/DistortionCompensation - -# trace mapping workflows need Electronics -# ansys_inc/v231/Electronics - -ansys_inc/v231/Framework -!ansys_inc/v231/Framework/bin - -ansys_inc/v231/Images - -ansys_inc/v231/meshing - -ansys_inc/v231/RSM - -# not available in linux -# ansys_inc/v231/scdm - -#ansys_inc/v231/Subscription - -ansys_inc/v231/SystemCoupling - -# we'll need this because of mono -# ansys_inc/v231/Tools - -ansys_inc/v231/ProductConfig.sh -ansys_inc/v231/ans_uninstall231 - -# mapdl dependencies -# ansys_inc/v231/aisol/lib/linx64/libcares.so.2 -# ansys_inc/v231/aisol/lib/linx64/libgcc_s.so.1 -# ansys_inc/v231/aisol/lib/linx64/libprotobuf.so.3.10.1.0 -ansys_inc/v231/ansys -!ansys_inc/v231/ansys/syslib/ubuntu/libXp.so -!ansys_inc/v231/ansys/syslib/ubuntu/libXp.so.6 -!ansys_inc/v231/ansys/syslib/ubuntu/libXp.so.6.2.0 -#upf needed for mechanical usage -!ansys_inc/v231/ansys/bin/ansupf -!ansys_inc/v231/ansys/bin/ansupf231 - -# mpi is needed for mechanical usage -!ansys_inc/v231/ansys/bin/mpitest -!ansys_inc/v231/ansys/bin/mpitest231 - -# amd files are needed -# !ansys_inc/v231/ansys/lib/linx64/gpu -!ansys_inc/v231/ansys/lib/linx64/blas - -#include only what's needed for mapdl - using reduce_mapdl.py -!ansys_inc/v231/aisol/lib/linx64/libgcc_s.so.1 -!ansys_inc/v231/ansys/apdl -!ansys_inc/v231/ansys/bin/ansset.ini -!ansys_inc/v231/ansys/bin/anssh.ini -!ansys_inc/v231/ansys/bin/ansys231 -!ansys_inc/v231/ansys/bin/ansysdis -!ansys_inc/v231/ansys/bin/ansysdis231 -!ansys_inc/v231/ansys/bin/linx64/ansys.e -!ansys_inc/v231/ansys/bin/mapdl -!ansys_inc/v231/ansys/docu/dynprompt231.ans -!ansys_inc/v231/ansys/gui/en-us/UIDL/MECHTOOL.AUI -!ansys_inc/v231/ansys/gui/en-us/UIDL/menulist.ans -!ansys_inc/v231/ansys/gui/en-us/UIDL/UIFUNC1.GRN -!ansys_inc/v231/ansys/gui/en-us/UIDL/UIFUNC2.GRN -!ansys_inc/v231/ansys/gui/en-us/UIDL/UIMENU.GRN -# we don't ignore the ansys_inc/v231/ansys/lib/linx64/blas -# !ansys_inc/v231/ansys/lib/linx64/blas/intel/libansBLAS.so -!ansys_inc/v231/ansys/lib/linx64/libansexb.so -!ansys_inc/v231/ansys/lib/linx64/libansgil.so -!ansys_inc/v231/ansys/lib/linx64/libansGPU.so -!ansys_inc/v231/ansys/lib/linx64/libansHDF.so -!ansys_inc/v231/ansys/lib/linx64/libansMemManager.so -!ansys_inc/v231/ansys/lib/linx64/libansMETIS.so -!ansys_inc/v231/ansys/lib/linx64/libansMPI.so -!ansys_inc/v231/ansys/lib/linx64/libansMPIinterface.so -!ansys_inc/v231/ansys/lib/linx64/libansOpenMP.so -!ansys_inc/v231/ansys/lib/linx64/libansOpenSSL.so -!ansys_inc/v231/ansys/lib/linx64/libansParMETIS.so -!ansys_inc/v231/ansys/lib/linx64/libansResourcePredict.so -!ansys_inc/v231/ansys/lib/linx64/libansScaLAPACK.so -!ansys_inc/v231/ansys/lib/linx64/libansuser.so -!ansys_inc/v231/ansys/lib/linx64/libansys.so -!ansys_inc/v231/ansys/lib/linx64/libansysb.so -!ansys_inc/v231/ansys/lib/linx64/libansysx.so -!ansys_inc/v231/ansys/lib/linx64/libApipWrapper.so -!ansys_inc/v231/ansys/lib/linx64/libcadoe_algorithms.so -!ansys_inc/v231/ansys/lib/linx64/libcdbtransformer.so -!ansys_inc/v231/ansys/lib/linx64/libcgns.so -!ansys_inc/v231/ansys/lib/linx64/libchap.so -!ansys_inc/v231/ansys/lib/linx64/libcif.so -!ansys_inc/v231/ansys/lib/linx64/libCInterpolation.so -!ansys_inc/v231/ansys/lib/linx64/libCKernel.so -!ansys_inc/v231/ansys/lib/linx64/libCLegacy.so -!ansys_inc/v231/ansys/lib/linx64/libCMath.so -!ansys_inc/v231/ansys/lib/linx64/libCReaders.so -!ansys_inc/v231/ansys/lib/linx64/libCReadersExt.so -!ansys_inc/v231/ansys/lib/linx64/libdmumps.so -!ansys_inc/v231/ansys/lib/linx64/libdsp.so -!ansys_inc/v231/ansys/lib/linx64/libmnf.so -!ansys_inc/v231/ansys/lib/linx64/libmumps_common.so -!ansys_inc/v231/ansys/lib/linx64/liboctree-mesh.so -!ansys_inc/v231/ansys/lib/linx64/libPrimeMesh.so -!ansys_inc/v231/ansys/lib/linx64/libqhull.so -!ansys_inc/v231/ansys/lib/linx64/libspooles.so -!ansys_inc/v231/ansys/lib/linx64/libtg.so -!ansys_inc/v231/ansys/lib/linx64/libvtk.so -!ansys_inc/v231/ansys/lib/linx64/libzmumps.so -!ansys_inc/v231/ansys/lib/linx64/mpi/intelmpi/libansMPI.so -!ansys_inc/v231/ansys/lib/linx64/mpi/intelmpi/libansScaLAPACK.so - -!ansys_inc/v231/ansys/site - -!ansys_inc/v231/ansys/syslib/AnsGil/libgmp.so -!ansys_inc/v231/ansys/syslib/AnsGil/libgmp.so.10 -!ansys_inc/v231/ansys/syslib/AnsGil/libgmp.so.10.3.2 -# having + in the pattern produces the following error -# error from sender: failed to match excludepatterns: syntax error in pattern -# let us not ignore this folder -# !ansys_inc/v231/ansys/syslib/ansGRPC/libaddress_sorting.so -# !ansys_inc/v231/ansys/syslib/ansGRPC/libgpr.so -# !ansys_inc/v231/ansys/syslib/ansGRPC/libgrpc.so -# !ansys_inc/v231/ansys/syslib/ansGRPC/libgrpc++.so -!ansys_inc/v231/ansys/syslib/ansGRPC -!ansys_inc/v231/ansys/syslib/boost/libboost_atomic.so -!ansys_inc/v231/ansys/syslib/boost/libboost_atomic.so.1 -!ansys_inc/v231/ansys/syslib/boost/libboost_atomic.so.1.71 -!ansys_inc/v231/ansys/syslib/boost/libboost_atomic.so.1.71.0 -!ansys_inc/v231/ansys/syslib/boost/libboost_chrono.so -!ansys_inc/v231/ansys/syslib/boost/libboost_chrono.so.1 -!ansys_inc/v231/ansys/syslib/boost/libboost_chrono.so.1.71 -!ansys_inc/v231/ansys/syslib/boost/libboost_chrono.so.1.71.0 -!ansys_inc/v231/ansys/syslib/boost/libboost_date_time.so -!ansys_inc/v231/ansys/syslib/boost/libboost_date_time.so.1 -!ansys_inc/v231/ansys/syslib/boost/libboost_date_time.so.1.71 -!ansys_inc/v231/ansys/syslib/boost/libboost_date_time.so.1.71.0 -!ansys_inc/v231/ansys/syslib/boost/libboost_filesystem.so -!ansys_inc/v231/ansys/syslib/boost/libboost_filesystem.so.1 -!ansys_inc/v231/ansys/syslib/boost/libboost_filesystem.so.1.71 -!ansys_inc/v231/ansys/syslib/boost/libboost_filesystem.so.1.71.0 -!ansys_inc/v231/ansys/syslib/boost/libboost_log.so -!ansys_inc/v231/ansys/syslib/boost/libboost_log.so.1 -!ansys_inc/v231/ansys/syslib/boost/libboost_log.so.1.71 -!ansys_inc/v231/ansys/syslib/boost/libboost_log.so.1.71.0 -!ansys_inc/v231/ansys/syslib/boost/libboost_log_setup.so -!ansys_inc/v231/ansys/syslib/boost/libboost_log_setup.so.1 -!ansys_inc/v231/ansys/syslib/boost/libboost_log_setup.so.1.71 -!ansys_inc/v231/ansys/syslib/boost/libboost_log_setup.so.1.71.0 -!ansys_inc/v231/ansys/syslib/boost/libboost_regex.so -!ansys_inc/v231/ansys/syslib/boost/libboost_regex.so.1 -!ansys_inc/v231/ansys/syslib/boost/libboost_regex.so.1.71 -!ansys_inc/v231/ansys/syslib/boost/libboost_regex.so.1.71.0 -!ansys_inc/v231/ansys/syslib/boost/libboost_system.so -!ansys_inc/v231/ansys/syslib/boost/libboost_system.so.1 -!ansys_inc/v231/ansys/syslib/boost/libboost_system.so.1.71 -!ansys_inc/v231/ansys/syslib/boost/libboost_system.so.1.71.0 -!ansys_inc/v231/ansys/syslib/boost/libboost_thread.so -!ansys_inc/v231/ansys/syslib/boost/libboost_thread.so.1 -!ansys_inc/v231/ansys/syslib/boost/libboost_thread.so.1.71 -!ansys_inc/v231/ansys/syslib/boost/libboost_thread.so.1.71.0 -!ansys_inc/v231/ansys/syslib/openssl/libcrypto-anss.so.1.1 -!ansys_inc/v231/ansys/syslib/openssl/libssl-anss.so.1.1 -!ansys_inc/v231/ansys/syslib/zlib/libz.so - -ansys_inc/v231/commonfiles/MPI -!ansys_inc/v231/commonfiles/MPI/Intel/2018.3.222/linx64/bin/mpiexec -!ansys_inc/v231/commonfiles/MPI/Intel/2018.3.222/linx64/bin/mpiexec.hydra -!ansys_inc/v231/commonfiles/MPI/Intel/2018.3.222/linx64/bin/mpirun -!ansys_inc/v231/commonfiles/MPI/Intel/2018.3.222/linx64/bin/pmi_proxy -!ansys_inc/v231/commonfiles/MPI/Intel/2018.3.222/linx64/etc/mpiexec.conf -!ansys_inc/v231/commonfiles/MPI/Intel/2018.3.222/linx64/lib/libmpi.so -!ansys_inc/v231/commonfiles/MPI/Intel/2018.3.222/linx64/lib/libmpi.so.12 -!ansys_inc/v231/commonfiles/MPI/Intel/2018.3.222/linx64/lib/libmpi.so.4 -!ansys_inc/v231/commonfiles/MPI/Intel/2018.3.222/linx64/lib/libmpi.so.5 -!ansys_inc/v231/commonfiles/MPI/Intel/2018.3.222/linx64/lib/libmpi_mt.so -!ansys_inc/v231/commonfiles/MPI/Intel/2018.3.222/linx64/lib/libmpi_mt.so.12 -!ansys_inc/v231/commonfiles/MPI/Intel/2018.3.222/linx64/lib/libmpi_mt.so.4 -!ansys_inc/v231/commonfiles/MPI/Intel/2018.3.222/linx64/lib/libmpi_mt.so.5 -!ansys_inc/v231/commonfiles/MPI/Intel/2018.3.222/linx64/lib/libstrtok.so -!ansys_inc/v231/commonfiles/MPI/Intel/2018.3.222/linx64/lib/release_mt/libmpi.so -!ansys_inc/v231/commonfiles/MPI/Intel/2018.3.222/linx64/lib/release_mt/libmpi.so.12 -!ansys_inc/v231/commonfiles/MPI/Intel/2018.3.222/linx64/lib/release_mt/libmpi.so.12.0 - -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/bin/hydra_bstrap_proxy -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/bin/hydra_pmi_proxy -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/bin/mpiexec -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/bin/mpiexec.hydra -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/bin/mpirun -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/etc/tuning_skx_shm-ofi_tcp-ofi-rxm.dat -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/lib/release/libmpi.so -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/lib/release/libmpi.so.12 -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/lib/release/libmpi.so.12.0 -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/lib/release/libmpi.so.12.0.0 -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/libfabric/lib/libfabric.so -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/libfabric/lib/libfabric.so.1 -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/libfabric/lib/prov/libefa-fi.so -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/libfabric/lib/prov/libmlx-fi.so -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/libfabric/lib/prov/libpsm3-fi.so -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/libfabric/lib/prov/libpsmx2-fi.so -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/libfabric/lib/prov/librxm-fi.so -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/libfabric/lib/prov/libshm-fi.so -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/libfabric/lib/prov/libsockets-fi.so -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/libfabric/lib/prov/libtcp-fi.so -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/libfabric/lib/prov/libverbs-1.12-fi.so -!ansys_inc/v231/commonfiles/MPI/Intel/2021.6.0/linx64/libfabric/lib/prov/libverbs-1.1-fi.so - -ansys_inc/v231/commonfiles/Tcl -!ansys_inc/v231/commonfiles/Tcl/lib/linx64/libjpeg.so -!ansys_inc/v231/commonfiles/Tcl/lib/linx64/libpng.so -!ansys_inc/v231/commonfiles/Tcl/lib/linx64/libtiff.so - -# we include the full licensing client -#ansys_inc/v231/licensingclient/linx64/ansyscl -#ansys_inc/v231/licensingclient/linx64/ansysli_util - -ansys_inc/v231/tp/hdf5/1_10_5 -!ansys_inc/v231/tp/hdf5/1_10_5/linx64/lib/libhdf5_cpp-gcc820-1_10_5.so -!ansys_inc/v231/tp/hdf5/1_10_5/linx64/lib/libhdf5_cpp-gcc820-1_10_5.so.103 -!ansys_inc/v231/tp/hdf5/1_10_5/linx64/lib/libhdf5_cpp-gcc820-1_10_5.so.103.1.0 -!ansys_inc/v231/tp/hdf5/1_10_5/linx64/lib/libhdf5_hl_cpp-gcc820-1_10_5.so -!ansys_inc/v231/tp/hdf5/1_10_5/linx64/lib/libhdf5_hl_cpp-gcc820-1_10_5.so.100 -!ansys_inc/v231/tp/hdf5/1_10_5/linx64/lib/libhdf5_hl_cpp-gcc820-1_10_5.so.100.1.3 -!ansys_inc/v231/tp/hdf5/1_10_5/linx64/lib/libhdf5_hl-gcc820-1_10_5.so -!ansys_inc/v231/tp/hdf5/1_10_5/linx64/lib/libhdf5_hl-gcc820-1_10_5.so.100 -!ansys_inc/v231/tp/hdf5/1_10_5/linx64/lib/libhdf5_hl-gcc820-1_10_5.so.100.1.2 -!ansys_inc/v231/tp/hdf5/1_10_5/linx64/lib/libhdf5-gcc820-1_10_5.so -!ansys_inc/v231/tp/hdf5/1_10_5/linx64/lib/libhdf5-gcc820-1_10_5.so.103 -!ansys_inc/v231/tp/hdf5/1_10_5/linx64/lib/libhdf5-gcc820-1_10_5.so.103.1.0 - -ansys_inc/v231/tp/IntelCompiler/2019.3.199 -!ansys_inc/v231/tp/IntelCompiler/2019.3.199/linx64/lib/intel64/libifcoremt.so -!ansys_inc/v231/tp/IntelCompiler/2019.3.199/linx64/lib/intel64/libifcoremt.so.5 -!ansys_inc/v231/tp/IntelCompiler/2019.3.199/linx64/lib/intel64/libifport.so -!ansys_inc/v231/tp/IntelCompiler/2019.3.199/linx64/lib/intel64/libifport.so.5 -!ansys_inc/v231/tp/IntelCompiler/2019.3.199/linx64/lib/intel64/libimf.so -!ansys_inc/v231/tp/IntelCompiler/2019.3.199/linx64/lib/intel64/libintlc.so -!ansys_inc/v231/tp/IntelCompiler/2019.3.199/linx64/lib/intel64/libintlc.so.5 -!ansys_inc/v231/tp/IntelCompiler/2019.3.199/linx64/lib/intel64/libiomp5.so -!ansys_inc/v231/tp/IntelCompiler/2019.3.199/linx64/lib/intel64/libirc.so -!ansys_inc/v231/tp/IntelCompiler/2019.3.199/linx64/lib/intel64/libirng.so -!ansys_inc/v231/tp/IntelCompiler/2019.3.199/linx64/lib/intel64/libsvml.so - -ansys_inc/v231/tp/IntelMKL -ansys_inc/v231/tp/IntelMKL/2020.0.166 -!ansys_inc/v231/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_avx512.so -!ansys_inc/v231/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_avx512_mic.so -!ansys_inc/v231/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_blacs_intelmpi_lp64.so -!ansys_inc/v231/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_core.so -!ansys_inc/v231/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_def.so -!ansys_inc/v231/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_intel_lp64.so -!ansys_inc/v231/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_intel_thread.so -!ansys_inc/v231/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_scalapack_lp64.so -!ansys_inc/v231/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_vml_avx512.so -!ansys_inc/v231/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_vml_avx512_mic.so - -# mesh dependency -!ansys_inc/v231/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_gnu_thread.so - -ansys_inc/install.err -.dockerignore -Dockerfile \ No newline at end of file diff --git a/docker/231/Dockerfile b/docker/231/Dockerfile deleted file mode 100644 index 7f2dcedd3..000000000 --- a/docker/231/Dockerfile +++ /dev/null @@ -1,124 +0,0 @@ -FROM ubuntu:20.04 - -ARG VERSION - -# LABELS -LABEL description="Mechanical on Ubuntu" -LABEL email="pyansys.core@ansys.com" - -# OCI LABELS -LABEL org.opencontainers.image.documentation="https://mechanical.docs.pyansys.com" - -RUN apt-get update && apt-get install -y \ - libxt6 \ - libsm6 \ - libice6 \ - libx11-6 \ - libx11-xcb1 \ - libxext6 \ - openssl \ - openssh-client \ - libcairo2 \ - elfutils \ - expat \ - fontconfig \ - libglib2.0-0 \ - libc-bin \ - libc6 \ - jbigkit-bin \ - libxau6 \ - libxcursor1 \ - libxdamage1 \ - libxext6 \ - libxfixes3 \ - libxrender1 \ - libxxf86vm1 \ - libxi6 \ - libdrm-common \ - libdrm2 \ - libjpeg-turbo8 \ - libselinux1 \ - libtiff5 \ - libxcb1 \ - libxshmfence1 \ - libglx-mesa0 \ - libosmesa6 \ - libgl1 \ - libgl1-mesa-dri \ - libgl1-mesa-glx \ - libglu1 \ - libglu1-mesa \ - libegl1-mesa \ - libglapi-mesa \ - libpcre2-8-0 \ - libpixman-1-0 \ - libmotif-common \ - libxm4 \ - libgfortran4 \ - libgfortran5 \ - xvfb \ - tini \ - ca-certificates\ - libgomp1 \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* - -# Copying files -WORKDIR /install/ - -COPY . . - -# License server -# (Optional) -# ENV LICENSE_SERVER=111.222.333.444 -# ENV ANSYSLMD_LICENSE_FILE=1055@$LICENSE_SERVER - -ENV ANSYS_VERSION=${VERSION} \ - ANSYS${VERSION}_DIR=/install/ansys_inc/v${VERSION}/ansys \ - AWP_ROOT${VERSION}=/install/ansys_inc/v${VERSION} \ - CADOE_LIBDIR${VERSION}=/install/ansys_inc/v${VERSION}/commonfiles/Language/en-us \ - WBDEBUG_TRACE_MESSAGE=1 \ - WBDEBUG_STDOUT_MESSAGE=1 \ - ANSYS_WORKBENCH_LOGGING=1 \ - ANSYS_WORKBENCH_LOGGING_FILTER_LEVEL=0 \ - ANSYS_WORKBENCH_LOGGING_AUTO_FLUSH=1 \ - WB1_DEFAULT_LOGDIRECTORY=/tmp \ - LANG=POSIX \ - # Ans.EDServices.MaterialCOM.dll dependencies - LD_LIBRARY_PATH=/install/ansys_inc/v${VERSION}/tp/IntelCompiler/2019.3.199/linx64:${LD_LIBRARY_PATH} \ - LD_LIBRARY_PATH=/install/ansys_inc/v${VERSION}/tp/qt_fw/5.9.6/Linux64:${LD_LIBRARY_PATH} \ - #umpe dependencies for Ans.Post.UmpeCOM.dll - LD_LIBRARY_PATH=/install/ansys_inc/v${VERSION}/aisol/umpe/common/bin/linx64:${LD_LIBRARY_PATH} \ - LD_LIBRARY_PATH=/install/ansys_inc/v${VERSION}/tp/hdf5/1_10_5/linx64:${LD_LIBRARY_PATH} \ - # Ans.Addins.CFDInterpolationCOM.dll dependencies - CFX5ROOT=/install/ansys_inc/v${VERSION}/commonfiles/CFX \ - CFX5LIBDIR=/install/ansys_inc/v${VERSION}/commonfiles/CFX/lib \ - CFX5BINDIR=/install/ansys_inc/v${VERSION}/commonfiles/CFX/bin \ - CFX5EXECDIR=/install/ansys_inc/v${VERSION}/commonfiles/CFX/bin/linux-amd64 \ - CFX_TOOLS_ROOT=/install/ansys_inc/v${VERSION}/commonfiles/CFX/tools \ - CFX5PERLDIR=/install/ansys_inc/v${VERSION}/commonfiles/CFX/tools/perl-5.34.1-dynamic \ - CFX5PERL=/install/ansys_inc/v${VERSION}/commonfiles/CFX/tools/perl-5.34.1-dynamic/bin/perl \ - CFX_LANGUAGE=en_US \ - CFX_DATA_DIR=/install/ansys_inc/v${VERSION}/commonfiles/CFX/etc \ - CFX5_CCL_LIBS=CFXPostRules.ccl;RULES;VARIABLES;MATERIAL;REACTIONS \ - CFX5_CCL_LIBSDIR=/install/ansys_inc/v${VERSION}/commonfiles/CFX/etc \ - CFX5_CCL_RULESDIR=/install/ansys_inc/v${VERSION}/commonfiles/CFX/etc \ - CFX5_CCL_RULES=/install/ansys_inc/v${VERSION}/commonfiles/CFX/etc/RULES \ - CFX5_CCL_PARSER=/install/ansys_inc/v${VERSION}/commonfiles/CFX/lib/ccl \ - CUE_LOCAL_DATA_DIR=/install/ansys_inc/v${VERSION}/commonfiles/CFX/etc \ - CUE_NO_DEBUG_OUT=1 \ - CFX5_CCL_PARSER_PACKAGE=CUEPost \ - PERL5LIB=${PERL5LIB}:/install/ansys_inc/v${VERSION}/commonfiles/CFX/tools/perl-5.34.1-dynamic/lib/5.34.1 \ - LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CFX5EXECDIR}:${CFX5LIBDIR}/linux-amd64:${CFX5ROOT}/tools/fluentio/linx64/lib \ - LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CFX5ROOT}/tools/poco-1.7.8/linx64/lib:${CFX5PERLDIR}/lib/x86_64-linux/CORE \ - # need to use EGL with this image's version of Mesa - ANS_WB_FORCE_EGL=1 \ - MECHANICAL_ON_DOCKER=TRUE - -# expose port for gRPC -EXPOSE 10000 - -# Set working directory -WORKDIR /install/ansys_inc/v${VERSION}/aisol/ - -ENTRYPOINT ["tini", "--", "xvfb-run", "./.workbench", "-dsapplet", "-AppModeMech", "-b", "-grpc", "10000"] diff --git a/docker/232/.dockerignore b/docker/232/.dockerignore index 6d00c46f1..98b570290 100644 --- a/docker/232/.dockerignore +++ b/docker/232/.dockerignore @@ -25,9 +25,6 @@ ansys_inc/v232/aisol/BladeModeler ansys_inc/v232/aisol/FEModeler ansys_inc/v232/aisol/dll/linx64/libans.blademodeler.ndfutilitiescom.so -# needed for topo and smart tests -# ansys_inc/v232/aisol/dll/linx64/libans.blademodeler.dmaddincom.so -# ansys_inc/v232/aisol/dll/linx64/ans.blademodeler.dmaddincom.rsb ansys_inc/v232/aisol/dll/linx64/libans.blademodeler.bg41objectscom.so ansys_inc/v232/aisol/dll/linx64/ans.blademodeler.bg41objectscom.rsb ansys_inc/v232/aisol/dll/linx64/libans.blademodeler.tgproxycom.so @@ -35,67 +32,20 @@ ansys_inc/v232/aisol/dll/linx64/ans.blademodeler.tgproxycom.rsb ansys_inc/v232/aisol/dll/linx64/libans.blademodeler.objectscom.so ansys_inc/v232/aisol/dll/linx64/ans.blademodeler.objectscom.rsb -# needed for topo and smart tests -# ansys_inc/v232/aisol/dll/linx64/libans.addins.parameshcom.so -# ansys_inc/v232/aisol/dll/linx64/ans.addins.parameshcom.rsb ansys_inc/v232/aisol/dll/linx64/libans.addins.parameshkernelcom.so ansys_inc/v232/aisol/dll/linx64/ans.addins.parameshkernelcom.rsb ansys_inc/v232/aisol/dll/linx64/libans.addins.parameshobjectscom.so ansys_inc/v232/aisol/dll/linx64/ans.addins.parameshobjectscom.rsb - -# needed for topo and smart tests -# ansys_inc/v232/aisol/dll/linx64/libans.addins.parameshutilitiescom.so -# ansys_inc/v232/aisol/dll/linx64/ans.addins.parameshutilitiescom.rsb - -# Ans.Common.ManagedEntry loading depends on this -# ansys_inc/v232/aisol/bin/linx64/Ans.AQWA.RemoteItf.dll -# ansys_inc/v232/aisol/bin/linx64/Ans.AQWA.RemoteLib.dll - ansys_inc/v232/Additive -# not available on linux -# ansys_inc/v232/AddPrint - ansys_inc/v232/commonfiles/CAD/Hoops ansys_inc/v232/commonfiles/CAD/Spatial -# needed for mapdl -# having + in the pattern produces the following error -# error from sender: failed to match excludepatterns: syntax error in pattern -# let us not ignore this folder in the mechanical images -# ansys_inc/v232/commonfiles/AAS -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libACE.so -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libACE.so.7.0.2 -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libACEXML.so -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libACEXML.so.7.0.2 -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libACEXML_Parser.so -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libACEXML_Parser.so.7.0.2 -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libMapdlExceptionClient.so -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libstdc++.so -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libstdc++.so.6 -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libstdc++.so.6.0.25 -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libTAO.so -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libTAO.so.3.0.2 -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libTAO_AnyTypeCode.so -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libTAO_AnyTypeCode.so.3.0.2 -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libTAO_BiDirGIOP.so -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libTAO_BiDirGIOP.so.3.0.2 -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libTAO_CodecFactory.so -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libTAO_CodecFactory.so.3.0.2 -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libTAO_PI.so -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libTAO_PI.so.3.0.2 -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libTAO_PortableServer.so -# !ansys_inc/v232/commonfiles/AAS/bin/linx64/libTAO_PortableServer.so.3.0.2 - ansys_inc/v232/commonfiles/CPython !ansys_inc/v232/commonfiles/CPython/3_10 -# needed for mapdl -# ansys_inc/v232/commonfiles/AMD ansys_inc/v232/commonfiles/SystemCoupling - -# needed for mapdl ansys_inc/v232/commonfiles/Tcl !ansys_inc/v232/commonfiles/Tcl/lib/linx64/libjpeg.so !ansys_inc/v232/commonfiles/Tcl/lib/linx64/libpng.so @@ -103,7 +53,6 @@ ansys_inc/v232/commonfiles/Tcl !ansys_inc/v232/commonfiles/Tcl/lib/linx64/libz.so ansys_inc/v232/commonfiles/CFX -# needed for topo and smart tests !ansys_inc/v232/commonfiles/CFX/lib/linux-amd64/libans.cue.di.so !ansys_inc/v232/commonfiles/CFX/lib/linux-amd64/libgfortran.so.5 !ansys_inc/v232/commonfiles/CFX/lib/linux-amd64/libquadmath.so.0 @@ -116,15 +65,8 @@ ansys_inc/v232/commonfiles/Textures ansys_inc/v232/commonfiles/tools ansys_inc/v232/dcs -# needed for topo and smart tests !ansys_inc/v232/dcs/nginx/auth_web/assets/favicon.ico -# not available on linux -# ansys_inc/v232/DistortionCompensation - -# trace mapping workflows need Electronics -# ansys_inc/v232/Electronics - ansys_inc/v232/Framework !ansys_inc/v232/Framework/bin @@ -134,46 +76,25 @@ ansys_inc/v232/meshing ansys_inc/v232/RSM -# not available in linux -# ansys_inc/v232/scdm - -#ansys_inc/v232/Subscription - ansys_inc/v232/SystemCoupling -# we'll need this because of mono -# ansys_inc/v232/Tools - ansys_inc/v232/ProductConfig.sh ansys_inc/v232/ans_uninstall232 -# mapdl dependencies -# ansys_inc/v232/aisol/lib/linx64/libcares.so.2 -# ansys_inc/v232/aisol/lib/linx64/libgcc_s.so.1 -# ansys_inc/v232/aisol/lib/linx64/libprotobuf.so.3.10.1.0 ansys_inc/v232/ansys !ansys_inc/v232/ansys/syslib/ubuntu/libXp.so !ansys_inc/v232/ansys/syslib/ubuntu/libXp.so.6 !ansys_inc/v232/ansys/syslib/ubuntu/libXp.so.6.2.0 -#upf needed for mechanical usage !ansys_inc/v232/ansys/bin/ansupf !ansys_inc/v232/ansys/bin/ansupf232 - -# mpi is needed for mechanical usage !ansys_inc/v232/ansys/bin/mpitest !ansys_inc/v232/ansys/bin/mpitest232 - -# amd files are needed -# !ansys_inc/v232/ansys/lib/linx64/gpu !ansys_inc/v232/ansys/lib/linx64/blas -#include only what's needed for mapdl - using reduce_mapdl.py !ansys_inc/v232/aisol/lib/linx64/libgcc_s.so.1 !ansys_inc/v232/aisol/lib/linx64/libaddress_sorting.so !ansys_inc/v232/aisol/lib/linx64/libgpr.so !ansys_inc/v232/aisol/lib/linx64/libgrpc.so -# file name with ++ has some issues in the docker ignore file -#!ansys_inc/v232/aisol/lib/linx64/libgrpc++.so !ansys_inc/v232/ansys/apdl !ansys_inc/v232/ansys/apdl/start.ans !ansys_inc/v232/ansys/bin/ansset.ini @@ -185,7 +106,6 @@ ansys_inc/v232/ansys !ansys_inc/v232/ansys/bin/ansysdis232 !ansys_inc/v232/ansys/bin/linx64/ansys.e -# needed for topo and smart tests !ansys_inc/v232/ansys/bin/linx64/AnsMechSolverMesh_f.e !ansys_inc/v232/ansys/bin/linx64/RunQMorph_f.e @@ -196,10 +116,6 @@ ansys_inc/v232/ansys !ansys_inc/v232/ansys/gui/en-us/UIDL/UIFUNC1.GRN !ansys_inc/v232/ansys/gui/en-us/UIDL/UIFUNC2.GRN !ansys_inc/v232/ansys/gui/en-us/UIDL/UIMENU.GRN -# we don't ignore the ansys_inc/v232/ansys/lib/linx64/blas -# !ansys_inc/v232/ansys/lib/linx64/blas/intel/libansBLAS.so - -# needed for topo and smart tests !ansys_inc/v232/ansys/lib/analytics/model_031323/sparse_A_min_max.txt !ansys_inc/v232/ansys/lib/analytics/model_031323/sparse_A_param_a.txt !ansys_inc/v232/ansys/lib/analytics/model_031323/sparse_A_param_b.txt @@ -268,25 +184,7 @@ ansys_inc/v232/ansys !ansys_inc/v232/ansys/syslib/AnsGil/libgmp.so.10 !ansys_inc/v232/ansys/syslib/AnsGil/libgmp.so.10.3.2 -# needed for topo and smart tests !ansys_inc/v232/ansys/syslib/AnsMechSolverMesh/libComponentSystem.so - -# in the latest build the following are referred from -# ansys_inc/v232/aisol/lib/linx64 -# having + in the pattern produces the following error -# error from sender: failed to match excludepatterns: syntax error in pattern -# let us not ignore this folder -# !ansys_inc/v232/ansys/syslib/ansGRPC/libaddress_sorting.so -# !ansys_inc/v232/ansys/syslib/ansGRPC/libcares.so -# !ansys_inc/v232/ansys/syslib/ansGRPC/libcares.so.2 -# !ansys_inc/v232/ansys/syslib/ansGRPC/libcares.so.2.4.1 -# !ansys_inc/v232/ansys/syslib/ansGRPC/libgpr.so -# !ansys_inc/v232/ansys/syslib/ansGRPC/libgrpc.so -# !ansys_inc/v232/ansys/syslib/ansGRPC/libgrpc++.so -# !ansys_inc//v232/ansys/syslib/ansGRPC/libGrpcKernel.so -# !ansys_inc//v232/ansys/syslib/ansGRPC/libGrpcMapdl.so -# !ansys_inc//v232/ansys/syslib/ansGRPC/libprotobuf.so -# !ansys_inc//v232/ansys/syslib/ansGRPC/libprotobuf.so.3.10.1.0 !ansys_inc/v232/ansys/syslib/ansGRPC !ansys_inc/v232/ansys/syslib/boost/libboost_atomic.so !ansys_inc/v232/ansys/syslib/boost/libboost_atomic.so.1 @@ -384,10 +282,6 @@ ansys_inc/v232/commonfiles/Tcl !ansys_inc/v232/commonfiles/Tcl/lib/linx64/libpng.so !ansys_inc/v232/commonfiles/Tcl/lib/linx64/libtiff.so -# we include the full licensing client -#ansys_inc/v232/licensingclient/linx64/ansyscl -#ansys_inc/v232/licensingclient/linx64/ansysli_util - ansys_inc/v232/tp/hdf5/1_10_5 !ansys_inc/v232/tp/hdf5/1_10_5/linx64/lib/libhdf5_cpp-gcc820-1_10_5.so !ansys_inc/v232/tp/hdf5/1_10_5/linx64/lib/libhdf5_cpp-gcc820-1_10_5.so.103 @@ -413,7 +307,6 @@ ansys_inc/v232/tp/IntelCompiler/2019.3.199 !ansys_inc/v232/tp/IntelCompiler/2019.3.199/linx64/lib/intel64/libcilkrts.so !ansys_inc/v232/tp/IntelCompiler/2019.3.199/linx64/lib/intel64/libcilkrts.so.5 -# needed for topo and smart tests !ansys_inc/v232/tp/IntelCompiler/2019.3.199/linx64/lib/intel64/libifcore.so !ansys_inc/v232/tp/IntelCompiler/2019.3.199/linx64/lib/intel64/libifcore.so.5 @@ -440,7 +333,6 @@ ansys_inc/v232/tp/IntelMKL/2020.0.166 !ansys_inc/v232/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_intel_thread.so !ansys_inc/v232/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_scalapack_lp64.so -# needed for topo and smart tests !ansys_inc/v232/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_sequential.so !ansys_inc/v232/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_vml_avx512.so @@ -449,7 +341,6 @@ ansys_inc/v232/tp/IntelMKL/2020.0.166 ansys_inc/v232/tp/qt !ansys_inc/v232/tp/qt/5.9.6 -# mesh dependency !ansys_inc/v232/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_gnu_thread.so ansys_inc/install.err diff --git a/docker/232/Dockerfile b/docker/232/Dockerfile index 0b1219198..02dd3e635 100644 --- a/docker/232/Dockerfile +++ b/docker/232/Dockerfile @@ -60,8 +60,8 @@ RUN apt-get update && apt-get install -y \ tini \ ca-certificates \ libgomp1 \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* # Copying files WORKDIR /install/ diff --git a/docker/241/.dockerignore b/docker/241/.dockerignore index ab074b58b..e346830fe 100644 --- a/docker/241/.dockerignore +++ b/docker/241/.dockerignore @@ -25,78 +25,29 @@ ansys_inc/v241/aisol/BladeModeler ansys_inc/v241/aisol/FEModeler ansys_inc/v241/aisol/dll/linx64/libans.blademodeler.ndfutilitiescom.so -# needed for topo and smart tests -# ansys_inc/v241/aisol/dll/linx64/libans.blademodeler.dmaddincom.so -# ansys_inc/v241/aisol/dll/linx64/ans.blademodeler.dmaddincom.rsb ansys_inc/v241/aisol/dll/linx64/libans.blademodeler.bg41objectscom.so ansys_inc/v241/aisol/dll/linx64/ans.blademodeler.bg41objectscom.rsb ansys_inc/v241/aisol/dll/linx64/libans.blademodeler.tgproxycom.so ansys_inc/v241/aisol/dll/linx64/ans.blademodeler.tgproxycom.rsb ansys_inc/v241/aisol/dll/linx64/libans.blademodeler.objectscom.so ansys_inc/v241/aisol/dll/linx64/ans.blademodeler.objectscom.rsb - -# needed for topo and smart tests -# ansys_inc/v241/aisol/dll/linx64/libans.addins.parameshcom.so -# ansys_inc/v241/aisol/dll/linx64/ans.addins.parameshcom.rsb ansys_inc/v241/aisol/dll/linx64/libans.addins.parameshkernelcom.so ansys_inc/v241/aisol/dll/linx64/ans.addins.parameshkernelcom.rsb ansys_inc/v241/aisol/dll/linx64/libans.addins.parameshobjectscom.so ansys_inc/v241/aisol/dll/linx64/ans.addins.parameshobjectscom.rsb -# needed for topo and smart tests -# ansys_inc/v241/aisol/dll/linx64/libans.addins.parameshutilitiescom.so -# ansys_inc/v241/aisol/dll/linx64/ans.addins.parameshutilitiescom.rsb - -# Ans.Common.ManagedEntry loading depends on this -# ansys_inc/v241/aisol/bin/linx64/Ans.AQWA.RemoteItf.dll -# ansys_inc/v241/aisol/bin/linx64/Ans.AQWA.RemoteLib.dll - ansys_inc/v241/Additive -# not available on linux -# ansys_inc/v241/AddPrint - ansys_inc/v241/commonfiles/CAD/Hoops ansys_inc/v241/commonfiles/CAD/Spatial !ansys_inc/v241/commonfiles/CAD/Spatial/iop/linx64/code/bin/libtbbmalloc.so.2 -# needed for mapdl -# having + in the pattern produces the following error -# error from sender: failed to match excludepatterns: syntax error in pattern -# let us not ignore this folder in the mechanical images -# ansys_inc/v241/commonfiles/AAS -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libACE.so -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libACE.so.7.0.2 -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libACEXML.so -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libACEXML.so.7.0.2 -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libACEXML_Parser.so -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libACEXML_Parser.so.7.0.2 -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libMapdlExceptionClient.so -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libstdc++.so -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libstdc++.so.6 -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libstdc++.so.6.0.25 -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libTAO.so -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libTAO.so.3.0.2 -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libTAO_AnyTypeCode.so -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libTAO_AnyTypeCode.so.3.0.2 -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libTAO_BiDirGIOP.so -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libTAO_BiDirGIOP.so.3.0.2 -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libTAO_CodecFactory.so -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libTAO_CodecFactory.so.3.0.2 -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libTAO_PI.so -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libTAO_PI.so.3.0.2 -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libTAO_PortableServer.so -# !ansys_inc/v241/commonfiles/AAS/bin/linx64/libTAO_PortableServer.so.3.0.2 - ansys_inc/v241/commonfiles/CPython !ansys_inc/v241/commonfiles/CPython/3_10 -# needed for mapdl -# ansys_inc/v241/commonfiles/AMD ansys_inc/v241/commonfiles/SystemCoupling -# needed for mapdl ansys_inc/v241/commonfiles/Tcl !ansys_inc/v241/commonfiles/Tcl/lib/linx64/libjpeg.so !ansys_inc/v241/commonfiles/Tcl/lib/linx64/libpng.so @@ -104,7 +55,6 @@ ansys_inc/v241/commonfiles/Tcl !ansys_inc/v241/commonfiles/Tcl/lib/linx64/libz.so ansys_inc/v241/commonfiles/CFX -# needed for topo and smart tests !ansys_inc/v241/commonfiles/CFX/lib/linux-amd64/libans.cue.di.so !ansys_inc/v241/commonfiles/CFX/lib/linux-amd64/libgfortran.so.5 !ansys_inc/v241/commonfiles/CFX/lib/linux-amd64/libquadmath.so.0 @@ -116,15 +66,8 @@ ansys_inc/v241/commonfiles/CFX ansys_inc/v241/commonfiles/Textures ansys_inc/v241/commonfiles/tools ansys_inc/v241/dcs -# needed for topo and smart tests !ansys_inc/v241/dcs/nginx/auth_web/assets/favicon.ico -# not available on linux -# ansys_inc/v241/DistortionCompensation - -# trace mapping workflows need Electronics -# ansys_inc/v241/Electronics - ansys_inc/v241/Framework !ansys_inc/v241/Framework/bin @@ -134,46 +77,27 @@ ansys_inc/v241/meshing ansys_inc/v241/RSM -# not available in linux -# ansys_inc/v241/scdm - -#ansys_inc/v241/Subscription - ansys_inc/v241/SystemCoupling -# we'll need this because of mono -# ansys_inc/v241/Tools - ansys_inc/v241/ProductConfig.sh ansys_inc/v241/ans_uninstall241 - -# mapdl dependencies -# ansys_inc/v241/aisol/lib/linx64/libcares.so.2 -# ansys_inc/v241/aisol/lib/linx64/libgcc_s.so.1 -# ansys_inc/v241/aisol/lib/linx64/libprotobuf.so.3.10.1.0 ansys_inc/v241/ansys !ansys_inc/v241/ansys/syslib/ubuntu/libXp.so !ansys_inc/v241/ansys/syslib/ubuntu/libXp.so.6 !ansys_inc/v241/ansys/syslib/ubuntu/libXp.so.6.2.0 -#upf needed for mechanical usage + !ansys_inc/v241/ansys/bin/ansupf !ansys_inc/v241/ansys/bin/ansupf241 -# mpi is needed for mechanical usage !ansys_inc/v241/ansys/bin/mpitest !ansys_inc/v241/ansys/bin/mpitest241 -# amd files are needed -# !ansys_inc/v241/ansys/lib/linx64/gpu !ansys_inc/v241/ansys/lib/linx64/blas -#include only what's needed for mapdl - using reduce_mapdl.py !ansys_inc/v241/aisol/lib/linx64/libgcc_s.so.1 !ansys_inc/v241/aisol/lib/linx64/libaddress_sorting.so !ansys_inc/v241/aisol/lib/linx64/libgpr.so !ansys_inc/v241/aisol/lib/linx64/libgrpc.so -# file name with ++ has some issues in the docker ignore file -#!ansys_inc/v241/aisol/lib/linx64/libgrpc++.so !ansys_inc/v241/ansys/apdl !ansys_inc/v241/ansys/apdl/start.ans !ansys_inc/v241/ansys/bin/ansset.ini @@ -185,11 +109,9 @@ ansys_inc/v241/ansys !ansys_inc/v241/ansys/bin/ansysdis241 !ansys_inc/v241/ansys/bin/linx64/ansys.e -# needed for topo and smart tests !ansys_inc/v241/ansys/bin/linx64/AnsMechSolverMesh_f.e !ansys_inc/v241/ansys/bin/linx64/RunQMorph_f.e -# needed for lsdyna !ansys_inc/v241/ansys/bin/linx64/lsdyna*.e !ansys_inc/v241/ansys/bin/mapdl @@ -199,10 +121,7 @@ ansys_inc/v241/ansys !ansys_inc/v241/ansys/gui/en-us/UIDL/UIFUNC1.GRN !ansys_inc/v241/ansys/gui/en-us/UIDL/UIFUNC2.GRN !ansys_inc/v241/ansys/gui/en-us/UIDL/UIMENU.GRN -# we don't ignore the ansys_inc/v241/ansys/lib/linx64/blas -# !ansys_inc/v241/ansys/lib/linx64/blas/intel/libansBLAS.so -# needed for topo and smart tests !ansys_inc/v241/ansys/lib/analytics/model_031323/sparse_A_min_max.txt !ansys_inc/v241/ansys/lib/analytics/model_031323/sparse_A_param_a.txt !ansys_inc/v241/ansys/lib/analytics/model_031323/sparse_A_param_b.txt @@ -274,26 +193,8 @@ ansys_inc/v241/ansys !ansys_inc/v241/ansys/syslib/AnsGil/libgmp.so.10 !ansys_inc/v241/ansys/syslib/AnsGil/libgmp.so.10.3.2 - -# needed for topo and smart tests !ansys_inc/v241/ansys/syslib/AnsMechSolverMesh/libComponentSystem.so -# in the latest build the following are referred from -# ansys_inc/v241/aisol/lib/linx64 -# having + in the pattern produces the following error -# error from sender: failed to match excludepatterns: syntax error in pattern -# let us not ignore this folder -# !ansys_inc/v241/ansys/syslib/ansGRPC/libaddress_sorting.so -# !ansys_inc/v241/ansys/syslib/ansGRPC/libcares.so -# !ansys_inc/v241/ansys/syslib/ansGRPC/libcares.so.2 -# !ansys_inc/v241/ansys/syslib/ansGRPC/libcares.so.2.4.1 -# !ansys_inc/v241/ansys/syslib/ansGRPC/libgpr.so -# !ansys_inc/v241/ansys/syslib/ansGRPC/libgrpc.so -# !ansys_inc/v241/ansys/syslib/ansGRPC/libgrpc++.so -# !ansys_inc//v241/ansys/syslib/ansGRPC/libGrpcKernel.so -# !ansys_inc//v241/ansys/syslib/ansGRPC/libGrpcMapdl.so -# !ansys_inc//v241/ansys/syslib/ansGRPC/libprotobuf.so -# !ansys_inc//v241/ansys/syslib/ansGRPC/libprotobuf.so.3.10.1.0 !ansys_inc/v241/ansys/syslib/ansGRPC !ansys_inc/v241/ansys/syslib/boost/libboost_atomic.so !ansys_inc/v241/ansys/syslib/boost/libboost_atomic.so.1 @@ -379,10 +280,6 @@ ansys_inc/v241/commonfiles/Tcl !ansys_inc/v241/commonfiles/Tcl/lib/linx64/libpng.so !ansys_inc/v241/commonfiles/Tcl/lib/linx64/libtiff.so -# we include the full licensing client -#ansys_inc/v241/licensingclient/linx64/ansyscl -#ansys_inc/v241/licensingclient/linx64/ansysli_util - ansys_inc/v241/tp/hdf5/1_12_2 !ansys_inc/v241/tp/hdf5/1_12_2/linx64/lib/libhdf5_cpp-serial.so.200 !ansys_inc/v241/tp/hdf5/1_12_2/linx64/lib/libhdf5_hl_cpp-serial.so.200 @@ -394,7 +291,6 @@ ansys_inc/v241/tp/IntelCompiler/2019.3.199 !ansys_inc/v241/tp/IntelCompiler/2019.3.199/linx64/lib/intel64/libcilkrts.so !ansys_inc/v241/tp/IntelCompiler/2019.3.199/linx64/lib/intel64/libcilkrts.so.5 -# needed for topo and smart tests !ansys_inc/v241/tp/IntelCompiler/2019.3.199/linx64/lib/intel64/libifcore.so !ansys_inc/v241/tp/IntelCompiler/2019.3.199/linx64/lib/intel64/libifcore.so.5 @@ -421,7 +317,6 @@ ansys_inc/v241/tp/IntelMKL/2020.0.166 !ansys_inc/v241/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_intel_thread.so !ansys_inc/v241/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_scalapack_lp64.so -# needed for topo and smart tests !ansys_inc/v241/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_sequential.so !ansys_inc/v241/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_vml_avx512.so @@ -431,7 +326,6 @@ ansys_inc/v241/tp/qt !ansys_inc/v241/tp/qt/5.9.6 !ansys_inc/v241/tp/qt_fw/5.9.6 -# mesh dependency !ansys_inc/v241/tp/IntelMKL/2020.0.166/linx64/lib/intel64/libmkl_gnu_thread.so ansys_inc/install.err diff --git a/docker/241/Dockerfile b/docker/241/Dockerfile index 0b1219198..02dd3e635 100644 --- a/docker/241/Dockerfile +++ b/docker/241/Dockerfile @@ -60,8 +60,8 @@ RUN apt-get update && apt-get install -y \ tini \ ca-certificates \ libgomp1 \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* # Copying files WORKDIR /install/ diff --git a/docker/242/.dockerignore b/docker/242/.dockerignore new file mode 100644 index 000000000..93505add3 --- /dev/null +++ b/docker/242/.dockerignore @@ -0,0 +1,341 @@ +# combine files needed for mechanical and mapdl + +# ignore all .a files ( static libraries ) +**/*.a + +# ignore the .txt files +*.txt + +# ignore the log files +ansys_inc/*.log + +ansys_inc/shared_files/licensing/ansyslmd.ini +ansys_inc/v242/ACP +ansys_inc/v242/Addins +!ansys_inc/v242/Addins/ACT +!ansys_inc/v242/Addins/EngineeringData +!ansys_inc/v242/Addins/JobManager +!ansys_inc/v242/Addins/JobMgrAdapter +!ansys_inc/v242/Addins/Units + +ansys_inc/v242/aisol/BladeModeler +ansys_inc/v242/aisol/FEModeler + +ansys_inc/v242/aisol/dll/linx64/libans.blademodeler.ndfutilitiescom.so +ansys_inc/v242/aisol/dll/linx64/libans.blademodeler.bg41objectscom.so +ansys_inc/v242/aisol/dll/linx64/ans.blademodeler.bg41objectscom.rsb +ansys_inc/v242/aisol/dll/linx64/libans.blademodeler.tgproxycom.so +ansys_inc/v242/aisol/dll/linx64/ans.blademodeler.tgproxycom.rsb +ansys_inc/v242/aisol/dll/linx64/libans.blademodeler.objectscom.so +ansys_inc/v242/aisol/dll/linx64/ans.blademodeler.objectscom.rsb +ansys_inc/v242/aisol/dll/linx64/libans.addins.parameshkernelcom.so +ansys_inc/v242/aisol/dll/linx64/ans.addins.parameshkernelcom.rsb +ansys_inc/v242/aisol/dll/linx64/libans.addins.parameshobjectscom.so +ansys_inc/v242/aisol/dll/linx64/ans.addins.parameshobjectscom.rsb + +ansys_inc/v242/Additive + +ansys_inc/v242/commonfiles/CAD/Hoops +ansys_inc/v242/commonfiles/CAD/Spatial +!ansys_inc/v242/commonfiles/CAD/Spatial/iop/linx64/code/bin/libtbbmalloc.so.2 +ansys_inc/v242/commonfiles/CPython +!ansys_inc/v242/commonfiles/CPython/3_10 +ansys_inc/v242/commonfiles/SystemCoupling +ansys_inc/v242/commonfiles/Tcl +!ansys_inc/v242/commonfiles/Tcl/lib/linx64/libjpeg.so +!ansys_inc/v242/commonfiles/Tcl/lib/linx64/libpng.so +!ansys_inc/v242/commonfiles/Tcl/lib/linx64/libtiff.so +!ansys_inc/v242/commonfiles/Tcl/lib/linx64/libz.so + +ansys_inc/v242/commonfiles/CFX +!ansys_inc/v242/commonfiles/CFX/lib/linux-amd64/libans.cue.di.so +!ansys_inc/v242/commonfiles/CFX/lib/linux-amd64/libgfortran.so.5 +!ansys_inc/v242/commonfiles/CFX/lib/linux-amd64/libquadmath.so.0 +!ansys_inc/v242/commonfiles/CFX/tools/fluentio/linx64/lib/libfluentio.so +!ansys_inc/v242/commonfiles/CFX/tools/perl-5.34.3-dynamic/lib/5.34.3/x86_64-linux/CORE/libperl.so +!ansys_inc/v242/commonfiles/CFX/tools/poco-1.12.4/linx64/lib/libPocoFoundation.so +!ansys_inc/v242/commonfiles/CFX/tools/poco-1.12.4/linx64/lib/libPocoFoundation.so.94 + +ansys_inc/v242/commonfiles/Textures +ansys_inc/v242/commonfiles/tools +ansys_inc/v242/dcs +!ansys_inc/v242/dcs/nginx/auth_web/assets/favicon.ico +ansys_inc/v242/Framework +!ansys_inc/v242/Framework/bin +ansys_inc/v242/Images +ansys_inc/v242/meshing +ansys_inc/v242/RSM +ansys_inc/v242/SystemCoupling +ansys_inc/v242/ProductConfig.sh +ansys_inc/v242/ans_uninstall242 + +ansys_inc/v242/ansys +!ansys_inc/v242/ansys/syslib/ubuntu/libXp.so +!ansys_inc/v242/ansys/syslib/ubuntu/libXp.so.6 +!ansys_inc/v242/ansys/syslib/ubuntu/libXp.so.6.2.0 +!ansys_inc/v242/ansys/syslib/daal/libonedal_core.so +!ansys_inc/v242/ansys/syslib/daal/libonedal_core.so.1 +!ansys_inc/v242/ansys/syslib/daal/libonedal_core.so.1.1 +!ansys_inc/v242/ansys/syslib/daal/libonedal_thread.so +!ansys_inc/v242/ansys/syslib/daal/libonedal_thread.so.1 +!ansys_inc/v242/ansys/syslib/daal/libonedal_thread.so.1.1 +!ansys_inc/v242/ansys/syslib/daal/libtbb.so +!ansys_inc/v242/ansys/syslib/daal/libtbb.so.12 +!ansys_inc/v242/ansys/syslib/daal/libtbb.so.12.9 +!ansys_inc/v242/ansys/syslib/daal/libtbbmalloc.so +!ansys_inc/v242/ansys/syslib/daal/libtbbmalloc.so.2 +!ansys_inc/v242/ansys/syslib/daal/libtbbmalloc.so.2.9 +!ansys_inc/v242/ansys/syslib/openssl/libcrypto.so +!ansys_inc/v242/ansys/syslib/openssl/libcrypto-anss.so +!ansys_inc/v242/ansys/syslib/openssl/libcrypto-anss.so.3 +!ansys_inc/v242/ansys/syslib/openssl/libssl.so +!ansys_inc/v242/ansys/syslib/openssl/libssl-anss.so +!ansys_inc/v242/ansys/syslib/openssl/libssl-anss.so.3 + +!ansys_inc/v242/ansys/bin/mpitest +!ansys_inc/v242/ansys/bin/mpitest242 + +!ansys_inc/v242/ansys/lib/linx64/blas +!ansys_inc/v242/aisol/lib/linx64/libgcc_s.so.1 +!ansys_inc/v242/aisol/lib/linx64/libaddress_sorting.so +!ansys_inc/v242/aisol/lib/linx64/libgpr.so +!ansys_inc/v242/aisol/lib/linx64/libgrpc.so + +!ansys_inc/v242/ansys/apdl +!ansys_inc/v242/ansys/apdl/start.ans +!ansys_inc/v242/ansys/bin/ansset.ini +!ansys_inc/v242/ansys/bin/anssh.ini +!ansys_inc/v242/ansys/bin/ansys242 +!ansys_inc/v242/ansys/bin/ansupf +!ansys_inc/v242/ansys/bin/ansupf242 +!ansys_inc/v242/ansys/bin/ansysdis +!ansys_inc/v242/ansys/bin/ansysdis242 +!ansys_inc/v242/ansys/bin/linx64/ansys.e +!ansys_inc/v242/ansys/bin/linx64/AnsMechSolverMesh.e +!ansys_inc/v242/ansys/bin/linx64/AnsMechSolverMesh_f.e +!ansys_inc/v242/ansys/bin/linx64/RunQMorph.e +!ansys_inc/v242/ansys/bin/linx64/RunQMorph_f.e +!ansys_inc/v242/ansys/bin/linx64/lsdyna*.e + +!ansys_inc/v242/ansys/bin/mapdl +!ansys_inc/v242/ansys/docu/dynprompt242.ans +!ansys_inc/v242/ansys/gui/en-us/UIDL/MECHTOOL.AUI +!ansys_inc/v242/ansys/gui/en-us/UIDL/menulist.ans +!ansys_inc/v242/ansys/gui/en-us/UIDL/UIFUNC1.GRN +!ansys_inc/v242/ansys/gui/en-us/UIDL/UIFUNC2.GRN +!ansys_inc/v242/ansys/gui/en-us/UIDL/UIMENU.GRN + +!ansys_inc/v242/ansys/lib/analytics/model_031323/sparse_A_min_max.txt +!ansys_inc/v242/ansys/lib/analytics/model_031323/sparse_A_param_a.txt +!ansys_inc/v242/ansys/lib/analytics/model_031323/sparse_A_param_b.txt +!ansys_inc/v242/ansys/lib/analytics/model_031323/sparse_memory_keras2cpp_model_0.model +!ansys_inc/v242/ansys/lib/analytics/model_031323/sparse_memory_keras2cpp_model_1.model +!ansys_inc/v242/ansys/lib/analytics/model_031323/sparse_memory_keras2cpp_model_2.model +!ansys_inc/v242/ansys/lib/analytics/model_031323/sparse_memory_keras2cpp_model_3.model +!ansys_inc/v242/ansys/lib/analytics/model_031323/sparse_memory_keras2cpp_model_4.model +!ansys_inc/v242/ansys/lib/analytics/model_031323/sparse_memory_mean_0.txt +!ansys_inc/v242/ansys/lib/analytics/model_031323/sparse_memory_mean_1.txt +!ansys_inc/v242/ansys/lib/analytics/model_031323/sparse_memory_mean_2.txt +!ansys_inc/v242/ansys/lib/analytics/model_031323/sparse_memory_mean_3.txt +!ansys_inc/v242/ansys/lib/analytics/model_031323/sparse_memory_mean_4.txt +!ansys_inc/v242/ansys/lib/analytics/model_031323/sparse_memory_scale_0.txt +!ansys_inc/v242/ansys/lib/analytics/model_031323/sparse_memory_scale_1.txt +!ansys_inc/v242/ansys/lib/analytics/model_031323/sparse_memory_scale_2.txt +!ansys_inc/v242/ansys/lib/analytics/model_031323/sparse_memory_scale_3.txt +!ansys_inc/v242/ansys/lib/analytics/model_031323/sparse_memory_scale_4.txt + +!ansys_inc/v242/ansys/lib/linx64/libami.so +!ansys_inc/v242/ansys/lib/linx64/libansexb.so +!ansys_inc/v242/ansys/lib/linx64/libansgil.so +!ansys_inc/v242/ansys/lib/linx64/libansGPU.so +!ansys_inc/v242/ansys/lib/linx64/libansHDF.so +!ansys_inc/v242/ansys/lib/linx64/libansMathUtils.so +!ansys_inc/v242/ansys/lib/linx64/libansMemManager.so +!ansys_inc/v242/ansys/lib/linx64/libansMETIS.so +!ansys_inc/v242/ansys/lib/linx64/libansMPI.so +!ansys_inc/v242/ansys/lib/linx64/libansMPIinterface.so +!ansys_inc/v242/ansys/lib/linx64/libansOpenMP.so +!ansys_inc/v242/ansys/lib/linx64/libansOpenSSL.so +!ansys_inc/v242/ansys/lib/linx64/libansParMETIS.so +!ansys_inc/v242/ansys/lib/linx64/libansPrintf.so +!ansys_inc/v242/ansys/lib/linx64/libansResourcePredict.so +!ansys_inc/v242/ansys/lib/linx64/libansScaLAPACK.so +!ansys_inc/v242/ansys/lib/linx64/libansuser.so +!ansys_inc/v242/ansys/lib/linx64/libansys.so +!ansys_inc/v242/ansys/lib/linx64/libansysb.so +!ansys_inc/v242/ansys/lib/linx64/libansysx.so +!ansys_inc/v242/ansys/lib/linx64/libboe.so +!ansys_inc/v242/ansys/lib/linx64/libApipWrapper.so +!ansys_inc/v242/ansys/lib/linx64/libcadoe_algorithms.so +!ansys_inc/v242/ansys/lib/linx64/libcdbtransformer.so +!ansys_inc/v242/ansys/lib/linx64/libcgns.so.4.3 +!ansys_inc/v242/ansys/lib/linx64/libchap.so +!ansys_inc/v242/ansys/lib/linx64/libcif.so +!ansys_inc/v242/ansys/lib/linx64/libCInterpolation.so +!ansys_inc/v242/ansys/lib/linx64/libCKernel.so +!ansys_inc/v242/ansys/lib/linx64/libCLegacy.so +!ansys_inc/v242/ansys/lib/linx64/libCMath.so +!ansys_inc/v242/ansys/lib/linx64/libCReaders.so +!ansys_inc/v242/ansys/lib/linx64/libCReadersExt.so +!ansys_inc/v242/ansys/lib/linx64/libdmumps.so +!ansys_inc/v242/ansys/lib/linx64/libdsp.so +!ansys_inc/v242/ansys/lib/linx64/libmnf.so +!ansys_inc/v242/ansys/lib/linx64/libmumps_common.so +!ansys_inc/v242/ansys/lib/linx64/liboctree-mesh.so +!ansys_inc/v242/ansys/lib/linx64/libPrimeMesh.so +!ansys_inc/v242/ansys/lib/linx64/libansBiolib.so +!ansys_inc/v242/ansys/lib/linx64/libqhull.so +!ansys_inc/v242/ansys/lib/linx64/libspooles.so +!ansys_inc/v242/ansys/lib/linx64/libtg.so +!ansys_inc/v242/ansys/lib/linx64/libvtk.so +!ansys_inc/v242/ansys/lib/linx64/libxox.so +!ansys_inc/v242/ansys/lib/linx64/libzmumps.so +!ansys_inc/v242/ansys/lib/linx64/mpi/intelmpi/libansMPI.so +!ansys_inc/v242/ansys/lib/linx64/mpi/intelmpi/libansScaLAPACK.so + +!ansys_inc/v242/ansys/site + +!ansys_inc/v242/ansys/syslib/AnsGil/libgmp.so +!ansys_inc/v242/ansys/syslib/AnsGil/libgmp.so.10 +!ansys_inc/v242/ansys/syslib/AnsGil/libgmp.so.10.3.2 +!ansys_inc/v242/ansys/syslib/AnsMechSolverMesh/libComponentSystem.so +!ansys_inc/v242/ansys/syslib/ansGRPC +!ansys_inc/v242/ansys/syslib/boost/libboost_atomic.so +!ansys_inc/v242/ansys/syslib/boost/libboost_atomic.so.1 +!ansys_inc/v242/ansys/syslib/boost/libboost_atomic.so.1.71 +!ansys_inc/v242/ansys/syslib/boost/libboost_atomic.so.1.71.0 +!ansys_inc/v242/ansys/syslib/boost/libboost_chrono.so +!ansys_inc/v242/ansys/syslib/boost/libboost_chrono.so.1 +!ansys_inc/v242/ansys/syslib/boost/libboost_chrono.so.1.71 +!ansys_inc/v242/ansys/syslib/boost/libboost_chrono.so.1.71.0 +!ansys_inc/v242/ansys/syslib/boost/libboost_date_time.so +!ansys_inc/v242/ansys/syslib/boost/libboost_date_time.so.1 +!ansys_inc/v242/ansys/syslib/boost/libboost_date_time.so.1.71 +!ansys_inc/v242/ansys/syslib/boost/libboost_date_time.so.1.71.0 +!ansys_inc/v242/ansys/syslib/boost/libboost_filesystem.so +!ansys_inc/v242/ansys/syslib/boost/libboost_filesystem.so.1 +!ansys_inc/v242/ansys/syslib/boost/libboost_filesystem.so.1.71 +!ansys_inc/v242/ansys/syslib/boost/libboost_filesystem.so.1.71.0 +!ansys_inc/v242/ansys/syslib/boost/libboost_log.so +!ansys_inc/v242/ansys/syslib/boost/libboost_log.so.1 +!ansys_inc/v242/ansys/syslib/boost/libboost_log.so.1.71 +!ansys_inc/v242/ansys/syslib/boost/libboost_log.so.1.71.0 +!ansys_inc/v242/ansys/syslib/boost/libboost_log_setup.so +!ansys_inc/v242/ansys/syslib/boost/libboost_log_setup.so.1 +!ansys_inc/v242/ansys/syslib/boost/libboost_log_setup.so.1.71 +!ansys_inc/v242/ansys/syslib/boost/libboost_log_setup.so.1.71.0 +!ansys_inc/v242/ansys/syslib/boost/libboost_program_options.so.1.71.0 +!ansys_inc/v242/ansys/syslib/boost/libboost_regex.so +!ansys_inc/v242/ansys/syslib/boost/libboost_regex.so.1 +!ansys_inc/v242/ansys/syslib/boost/libboost_regex.so.1.71 +!ansys_inc/v242/ansys/syslib/boost/libboost_regex.so.1.71.0 +!ansys_inc/v242/ansys/syslib/boost/libboost_system.so +!ansys_inc/v242/ansys/syslib/boost/libboost_system.so.1 +!ansys_inc/v242/ansys/syslib/boost/libboost_system.so.1.71 +!ansys_inc/v242/ansys/syslib/boost/libboost_system.so.1.71.0 +!ansys_inc/v242/ansys/syslib/boost/libboost_thread.so +!ansys_inc/v242/ansys/syslib/boost/libboost_thread.so.1 +!ansys_inc/v242/ansys/syslib/boost/libboost_thread.so.1.71 +!ansys_inc/v242/ansys/syslib/boost/libboost_thread.so.1.71.0 + +!ansys_inc/v242/ansys/syslib/daal/libdaal_core.so +!ansys_inc/v242/ansys/syslib/daal/libdaal_sequential.so +!ansys_inc/v242/ansys/syslib/daal/libdaal_thread.so +!ansys_inc/v242/ansys/syslib/daal/libtbb.so +!ansys_inc/v242/ansys/syslib/daal/libtbb.so.2 +!ansys_inc/v242/ansys/syslib/daal/libtbbmalloc.so +!ansys_inc/v242/ansys/syslib/daal/libtbbmalloc.so.2 + +!ansys_inc/v242/ansys/syslib/openssl/libcrypto.so +!ansys_inc/v242/ansys/syslib/openssl/libcrypto-anss.so +!ansys_inc/v242/ansys/syslib/openssl/libcrypto-anss.so.1.1 +!ansys_inc/v242/ansys/syslib/openssl/libssl.so +!ansys_inc/v242/ansys/syslib/openssl/libssl-anss.so +!ansys_inc/v242/ansys/syslib/openssl/libssl-anss.so.1.1 + +!ansys_inc/v242/ansys/syslib/zlib/libz.so +!ansys_inc/v242/ansys/syslib/zlib/libz.so.1 +!ansys_inc/v242/ansys/syslib/zlib/libz.so.1.2.13 + +ansys_inc/v242/commonfiles/MPI +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/bin/hydra_bstrap_proxy +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/bin/hydra_pmi_proxy +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/bin/mpiexec +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/bin/mpiexec.hydra +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/bin/mpirun +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/lib/release/libmpi.so +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/lib/release/libmpi.so.12 +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/lib/release/libmpi.so.12.0 +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/lib/release/libmpi.so.12.0.0 +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/libfabric/lib/libfabric.so +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/libfabric/lib/libfabric.so.1 +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/libfabric/lib/prov/libefa-fi.so +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/libfabric/lib/prov/libmlx-fi.so +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/libfabric/lib/prov/libpsm3-fi.so +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/libfabric/lib/prov/libpsmx2-fi.so +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/libfabric/lib/prov/librxm-fi.so +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/libfabric/lib/prov/libshm-fi.so +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/libfabric/lib/prov/libtcp-fi.so +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/libfabric/lib/prov/libverbs-1.1-fi.so +!ansys_inc/v242/commonfiles/MPI/Intel/2021.11.0/linx64/libfabric/lib/prov/libverbs-1.12-fi.so + +ansys_inc/v242/commonfiles/Tcl +!ansys_inc/v242/commonfiles/Tcl/lib/linx64/libjpeg.so +!ansys_inc/v242/commonfiles/Tcl/lib/linx64/libpng.so +!ansys_inc/v242/commonfiles/Tcl/lib/linx64/libtiff.so + + +ansys_inc/v242/tp/hdf5/1_12_2 +!ansys_inc/v242/tp/hdf5/1_12_2/linx64/lib/libhdf5_cpp-serial.so.200 +!ansys_inc/v242/tp/hdf5/1_12_2/linx64/lib/libhdf5_hl_cpp-serial.so.200 +!ansys_inc/v242/tp/hdf5/1_12_2/linx64/lib/libhdf5_hl-serial.so.200 +!ansys_inc/v242/tp/hdf5/1_12_2/linx64/lib/libhdf5-serial.so.200 + + +ansys_inc/v242/tp/IntelCompiler/2023.1.0 +!ansys_inc/v242/tp/IntelCompiler/2023.1.0/linx64/lib/intel64/libcilkrts.so +!ansys_inc/v242/tp/IntelCompiler/2023.1.0/linx64/lib/intel64/libcilkrts.so.5 +!ansys_inc/v242/tp/IntelCompiler/2023.1.0/linx64/lib/intel64/libifcore.so +!ansys_inc/v242/tp/IntelCompiler/2023.1.0/linx64/lib/intel64/libifcore.so.5 +!ansys_inc/v242/tp/IntelCompiler/2023.1.0/linx64/lib/intel64/libifcoremt.so +!ansys_inc/v242/tp/IntelCompiler/2023.1.0/linx64/lib/intel64/libifcoremt.so.5 +!ansys_inc/v242/tp/IntelCompiler/2023.1.0/linx64/lib/intel64/libifport.so +!ansys_inc/v242/tp/IntelCompiler/2023.1.0/linx64/lib/intel64/libifport.so.5 +!ansys_inc/v242/tp/IntelCompiler/2023.1.0/linx64/lib/intel64/libimf.so +!ansys_inc/v242/tp/IntelCompiler/2023.1.0/linx64/lib/intel64/libintlc.so +!ansys_inc/v242/tp/IntelCompiler/2023.1.0/linx64/lib/intel64/libintlc.so.5 +!ansys_inc/v242/tp/IntelCompiler/2023.1.0/linx64/lib/intel64/libiomp5.so +!ansys_inc/v242/tp/IntelCompiler/2023.1.0/linx64/lib/intel64/libirc.so +!ansys_inc/v242/tp/IntelCompiler/2023.1.0/linx64/lib/intel64/libirng.so +!ansys_inc/v242/tp/IntelCompiler/2023.1.0/linx64/lib/intel64/libsvml.so + +ansys_inc/v242/tp/IntelMKL +ansys_inc/v242/tp/IntelMKL/2023.1.0 +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_avx512.so.2 +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_blacs_intelmpi_lp64.so +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_blacs_intelmpi_lp64.so.2 +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_core.so +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_core.so.2 +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_def.so +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_def.so.2 +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_gnu_thread.so +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_gnu_thread.so.2 +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_intel_lp64.so +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_intel_lp64.so.2 +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_intel_thread.so +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_intel_thread.so.2 +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_scalapack_lp64.so +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_scalapack_lp64.so.2 +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_tbb_thread.so +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_tbb_thread.so.2 +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_vml_avx512.so.2 +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_avx2.so.2 +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_vml_avx2.so.2 +!ansys_inc/v242/tp/IntelMKL/2023.1.0/linx64/lib/intel64/libmkl_vml_def.so.2 + +ansys_inc/v242/tp/qt +!ansys_inc/v242/tp/qt/5.15.16 + +ansys_inc/install.err +.dockerignore +Dockerfile \ No newline at end of file diff --git a/docker/242/Dockerfile b/docker/242/Dockerfile new file mode 100644 index 000000000..690f9177d --- /dev/null +++ b/docker/242/Dockerfile @@ -0,0 +1,99 @@ +FROM ubuntu:20.04 + +ARG VERSION + +# LABELS +LABEL description="Mechanical on Ubuntu" +LABEL email="pyansys.core@ansys.com" + +# OCI LABELS +LABEL org.opencontainers.image.documentation="https://mechanical.docs.pyansys.com" + +RUN apt-get update && apt-get install -y \ + libxt6 \ + libsm6 \ + libice6 \ + libx11-6 \ + libx11-xcb1 \ + libxext6 \ + openssl \ + openssh-client \ + libcairo2 \ + elfutils \ + expat \ + fontconfig \ + libglib2.0-0 \ + libc-bin \ + libc6 \ + jbigkit-bin \ + libxau6 \ + libxcursor1 \ + libxdamage1 \ + libxext6 \ + libxfixes3 \ + libxrender1 \ + libxxf86vm1 \ + libxi6 \ + libdrm-common \ + libdrm2 \ + libjpeg-turbo8 \ + libselinux1 \ + libtiff5 \ + libxcb1 \ + libxshmfence1 \ + libglx-mesa0 \ + libosmesa6 \ + libgl1 \ + libgl1-mesa-dri \ + libgl1-mesa-glx \ + libglu1 \ + libglu1-mesa \ + libegl1-mesa \ + libglapi-mesa \ + libpcre2-8-0 \ + libpixman-1-0 \ + libmotif-common \ + libxm4 \ + libgfortran4 \ + libgfortran5 \ + xvfb \ + tini \ + ca-certificates \ + libgomp1 \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +# Copying files +WORKDIR /install/ + +COPY . . + +# License server +# (Optional) +# ENV LICENSE_SERVER=111.222.333.444 +# ENV ANSYSLMD_LICENSE_FILE=1055@$LICENSE_SERVER + +ENV ANSYS_VERSION=${VERSION} \ + ANSYS${VERSION}_DIR=/install/ansys_inc/v${VERSION}/ansys \ + AWP_ROOT${VERSION}=/install/ansys_inc/v${VERSION} \ + CADOE_LIBDIR${VERSION}=/install/ansys_inc/v${VERSION}/commonfiles/Language/en-us \ + ANSYS_WORKBENCH_LOGGING=1 \ + ANSYS_WORKBENCH_LOGGING_FILTER_LEVEL=0 \ + ANSYS_WORKBENCH_LOGGING_AUTO_FLUSH=1 \ + ANSYS_WORKBENCH_LOGGING_CONSOLE=1 \ + ANSYS_WORKBENCH_LOGGING_DIRECTORY=/tmp \ + LANG=POSIX \ + LD_LIBRARY_PATH=/install/ansys_inc/v${VERSION}/tp/IntelCompiler/2023.1.0/linx64:${LD_LIBRARY_PATH} \ + LD_LIBRARY_PATH=/install/ansys_inc/v${VERSION}/tp/qt/5.15.16//Linux64:${LD_LIBRARY_PATH} \ + LD_LIBRARY_PATH=/install/ansys_inc/v${VERSION}/aisol/umpe/common/bin/linx64:${LD_LIBRARY_PATH} \ + LD_LIBRARY_PATH=/install/ansys_inc/v${VERSION}/tp/hdf5/1_12_2/linx64:${LD_LIBRARY_PATH} \ + ANS_WB_FORCE_EGL=1 \ + MECHANICAL_ON_DOCKER=TRUE + +# expose port for grpc +EXPOSE 10000 + +# Set working directory +WORKDIR /install/ansys_inc/v${VERSION}/aisol/ + +ENTRYPOINT ["tini", "--", "xvfb-run", "./.workbench", "-dsapplet", "-AppModeMech", "-b", "-grpc", "10000"] \ No newline at end of file diff --git a/docker/make_container.rst b/docker/make_container.rst index 8d978103b..0bb6a2dcc 100644 --- a/docker/make_container.rst +++ b/docker/make_container.rst @@ -24,8 +24,8 @@ Requirements * These files are provided: - * `Dockerfile `_ - * `.dockerignore `_ + * `Dockerfile `_ + * `.dockerignore `_ Procedure @@ -91,7 +91,7 @@ which you should modify to adapt it to your needs. export ANS_VERSION=${ANS_MAJOR_VERSION}${ANS_MINOR_VERSION} export TAG=mechanical:${ANS_MAJOR_VERSION}.${ANS_MINOR_VERSION} - # example: if Mechanical v231 is installed under /install/ansys_inc/v231 + # example: if Mechanical v242 is installed under /install/ansys_inc/v242 # use /install for path_to_mechanical_installation export MECHANICAL_INSTALL_LOCATION=/path_to_mechanical_installation/ @@ -116,10 +116,10 @@ Take note of the these paths: * ``path_to_mechanical_installation`` is the path to where you have locally installed Mechanical. Not all installation files are copied. In fact, the files ignored during the copying -are described in the `.dockerignore file `_. +are described in the `.dockerignore file `_. The Docker container configuration needed to build the container is described in the -`Dockerfile `_. +`Dockerfile `_. Summary diff --git a/pyproject.toml b/pyproject.toml index c413be845..95d1bbf3a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "flit_core.buildapi" [project] # Check https://flit.readthedocs.io/en/latest/pyproject_toml.html for all available sections name = "ansys-mechanical-core" -version = "0.11.1" +version = "0.11.2" description = "A python wrapper for Ansys Mechanical" readme = "README.rst" requires-python = ">=3.9,<4.0" @@ -27,7 +27,7 @@ classifiers = [ ] dependencies = [ "ansys-api-mechanical==0.1.2", - "ansys-mechanical-env==0.1.6", + "ansys-mechanical-env==0.1.7", "ansys-platform-instancemanagement>=1.0.1", "ansys-pythonnet>=3.1.0rc2", "ansys-tools-path>=0.3.1", @@ -53,15 +53,15 @@ tests = [ "pytest-print==1.0.0", ] doc = [ - "sphinx==7.3.7", - "ansys-sphinx-theme[autoapi]==0.16.5", + "sphinx==7.4.4", + "ansys-sphinx-theme[autoapi]==0.16.6", "grpcio==1.64.1", "imageio-ffmpeg==0.5.1", - "imageio==2.34.1", + "imageio==2.34.2", "jupyter_sphinx==0.5.3", "jupyterlab>=3.2.8", - "matplotlib==3.9.0", - "numpy==1.26.4", + "matplotlib==3.9.1", + "numpy==2.0.0", "numpydoc==1.7.0", "pandas==2.2.2", "panel==1.4.4", @@ -69,9 +69,9 @@ doc = [ "pypandoc==1.13", "pytest-sphinx==0.6.3", "pythreejs==2.4.2", - "pyvista==0.43.9", + "pyvista>=0.39.1", "sphinx-autobuild==2024.4.16", - "sphinx-autodoc-typehints==2.1.1", + "sphinx-autodoc-typehints==2.2.2", "sphinx-copybutton==0.5.2", "sphinx_design==0.6.0", "sphinx-gallery==0.16.0", diff --git a/src/ansys/mechanical/core/_version.py b/src/ansys/mechanical/core/_version.py index 93dd8fc9b..f623dfcbb 100644 --- a/src/ansys/mechanical/core/_version.py +++ b/src/ansys/mechanical/core/_version.py @@ -40,8 +40,8 @@ __version__ = importlib_metadata.version("ansys-mechanical-core") SUPPORTED_MECHANICAL_VERSIONS = { + 242: "2024R2", 241: "2024R1", 232: "2023R2", - 231: "2023R1", } """Supported mechanical versions in descending order.""" diff --git a/src/ansys/mechanical/core/embedding/app.py b/src/ansys/mechanical/core/embedding/app.py index 255845926..fc9b8e713 100644 --- a/src/ansys/mechanical/core/embedding/app.py +++ b/src/ansys/mechanical/core/embedding/app.py @@ -268,14 +268,19 @@ def ExtAPI(self): @property def Tree(self): - """Return the ExtAPI object.""" + """Return the Tree object.""" return GetterWrapper(self._app, lambda app: app.DataModel.Tree) @property def Model(self): - """Return the ExtAPI object.""" + """Return the Model object.""" return GetterWrapper(self._app, lambda app: app.DataModel.Project.Model) + @property + def Graphics(self): + """Return the Graphics object.""" + return GetterWrapper(self._app, lambda app: app.ExtAPI.Graphics) + @property def readonly(self): """Return whether the Mechanical object is read-only.""" @@ -365,6 +370,12 @@ def _update_all_globals(self) -> None: def _print_tree(self, node, max_lines, lines_count, indentation): """Recursively print till provided maximum lines limit. + Each object in the tree is expected to have the following attributes: + - Name: The name of the object. + - Suppressed : Print as suppressed, if object is suppressed. + - Children: Checks if object have children. + Each child node is expected to have the all these attributes. + Parameters ---------- lines_count: int, optional @@ -382,30 +393,28 @@ def _print_tree(self, node, max_lines, lines_count, indentation): node_name = node.Name if hasattr(node, "Suppressed") and node.Suppressed is True: node_name += " (Suppressed)" - print(f"{indentation}├── {node.Name}") + print(f"{indentation}├── {node_name}") lines_count += 1 + if lines_count >= max_lines and max_lines != -1: + print(f"... truncating after {max_lines} lines") + return lines_count + if hasattr(node, "Children") and node.Children is not None and node.Children.Count > 0: for child in node.Children: - _lines_count = self._print_tree(child, max_lines, lines_count, indentation + "| ") - if _lines_count >= max_lines and max_lines != -1: + lines_count = self._print_tree(child, max_lines, lines_count, indentation + "| ") + if lines_count >= max_lines and max_lines != -1: break return lines_count - def print_tree(self, node, max_lines=80, lines_count=0, indentation=""): + def print_tree(self, node=None, max_lines=80, lines_count=0, indentation=""): """ Print the hierarchical tree representation of the Mechanical project structure. - Each object in the tree is expected to have the following attributes: - - Name: The name of the object. - - Suppressed : Print as suppressed, if object is suppressed. - - Children: Checks if object have children. - Each child node is expected to have the all these attributes. - Parameters ---------- - node: ExtAPI object + node: DataModel object, optional The starting object of the tree. max_lines: int, optional The maximum number of lines to print. Default is 80. If set to -1, no limit is applied. @@ -420,7 +429,7 @@ def print_tree(self, node, max_lines=80, lines_count=0, indentation=""): >>> import ansys.mechanical.core as mech >>> app = mech.App() >>> app.update_globals(globals()) - >>> app.print_tree(DataModel.Project) + >>> app.print_tree() ... ├── Project ... | ├── Model ... | | ├── Geometry Imports @@ -431,8 +440,18 @@ def print_tree(self, node, max_lines=80, lines_count=0, indentation=""): ... | | ├── Remote Points ... | | ├── Mesh - >>> app.print_tree(DataModel.Project, 1) + >>> app.print_tree(Model, 3) + ... ├── Model + ... | ├── Geometry Imports + ... | ├── Geometry + ... ... truncating after 3 lines + + >>> app.print_tree(max_lines=2) ... ├── Project - ... ... truncating after 1 lines + ... | ├── Model + ... ... truncating after 2 lines """ + if node is None: + node = self.DataModel.Project + self._print_tree(node, max_lines, lines_count, indentation) diff --git a/src/ansys/mechanical/core/embedding/imports.py b/src/ansys/mechanical/core/embedding/imports.py index 929b1bf4d..b5441da44 100644 --- a/src/ansys/mechanical/core/embedding/imports.py +++ b/src/ansys/mechanical/core/embedding/imports.py @@ -31,6 +31,7 @@ def global_entry_points(app: "ansys.mechanical.core.App") -> typing.Dict: vars["DataModel"] = app.DataModel vars["Model"] = app.DataModel.Project.Model vars["Tree"] = app.DataModel.Tree + vars["Graphics"] = app.ExtAPI.Graphics return vars @@ -39,7 +40,8 @@ def global_variables(app: "ansys.mechanical.core.App", enums: bool = False) -> t It can be used to add all of these as global variables in python with this command: - `globals().update(global_variables(embedded_app))` + + ``globals().update(global_variables(embedded_app))`` To also import all the enums, set the parameter enums to true. """ @@ -51,8 +53,11 @@ def global_variables(app: "ansys.mechanical.core.App", enums: bool = False) -> t clr.AddReference("Ansys.Mechanical.DataModel") # from Ansys.ACT.Mechanical import Transaction # When ansys-pythonnet issue #14 is fixed, uncomment above + from Ansys.ACT.Core.Math import Point2D, Point3D + from Ansys.ACT.Math import Vector3D from Ansys.Core.Units import Quantity from Ansys.Mechanical.DataModel import MechanicalEnums + from Ansys.Mechanical.Graphics import Point, SectionPlane import System # isort: skip import Ansys # isort: skip @@ -62,6 +67,13 @@ def global_variables(app: "ansys.mechanical.core.App", enums: bool = False) -> t vars["Ansys"] = Ansys vars["Transaction"] = Transaction vars["MechanicalEnums"] = MechanicalEnums + # Graphics + vars["Point"] = Point + vars["SectionPlane"] = SectionPlane + # Math + vars["Point2D"] = Point2D + vars["Point3D"] = Point3D + vars["Vector3D"] = Vector3D if enums: vars.update(get_all_enums()) diff --git a/src/ansys/mechanical/core/embedding/initializer.py b/src/ansys/mechanical/core/embedding/initializer.py index b46d78e2e..48d68996e 100644 --- a/src/ansys/mechanical/core/embedding/initializer.py +++ b/src/ansys/mechanical/core/embedding/initializer.py @@ -36,7 +36,7 @@ INITIALIZED_VERSION = None """Constant for the initialized version.""" -SUPPORTED_MECHANICAL_EMBEDDING_VERSIONS_WINDOWS = {241: "2024R1", 232: "2023R2", 231: "2023R1"} +SUPPORTED_MECHANICAL_EMBEDDING_VERSIONS_WINDOWS = {242: "2024R2", 241: "2024R1", 232: "2023R2"} """Supported Mechanical embedding versions on Windows.""" @@ -70,7 +70,7 @@ def _get_default_linux_version() -> int: does not provide a version, the ``find_mechanical()`` function from the ``ansys-tools-path`` package is used to find a version of Mechanical. """ - supported_versions = [232, 241] + supported_versions = [232, 241, 242] awp_roots = {ver: os.environ.get(f"AWP_ROOT{ver}", "") for ver in supported_versions} installed_versions = { ver: path for ver, path in awp_roots.items() if path and os.path.isdir(path) diff --git a/src/ansys/mechanical/core/embedding/logger/__init__.py b/src/ansys/mechanical/core/embedding/logger/__init__.py index 7d17291da..bf8133d48 100644 --- a/src/ansys/mechanical/core/embedding/logger/__init__.py +++ b/src/ansys/mechanical/core/embedding/logger/__init__.py @@ -37,7 +37,7 @@ from ansys.mechanical.core.embedding.logger import Configuration, Logger Configuration.configure(level=logging.INFO, to_stdout=True, base_directory=None) - app = mech.App(version=241) + app = mech.App(version=242) Then, the :class:`Logger ` class can be used to write messages to the log: diff --git a/src/ansys/mechanical/core/embedding/viz/pyvista_plotter.py b/src/ansys/mechanical/core/embedding/viz/pyvista_plotter.py index d2cd5183e..dd3f5b82a 100644 --- a/src/ansys/mechanical/core/embedding/viz/pyvista_plotter.py +++ b/src/ansys/mechanical/core/embedding/viz/pyvista_plotter.py @@ -44,7 +44,7 @@ def _transform_to_pyvista(transform: "Ansys.ACT.Math.Matrix4D"): return np_transform -def _get_nodes_and_coords(tri_tessellation: "Ansys.Mechanical.Scenegraph.TriTessellationNode"): +def _get_tri_nodes_and_coords(tri_tessellation: "Ansys.Mechanical.Scenegraph.TriTessellationNode"): """Get the nodes and indices of the TriTessellationNode. pyvista format expects a number of vertices per facet which is always 3 @@ -55,6 +55,19 @@ def _get_nodes_and_coords(tri_tessellation: "Ansys.Mechanical.Scenegraph.TriTess return np_coordinates, np_indices +def _get_nodes_and_coords(node: "Ansys.Mechanical.Scenegraph.Node"): + """Get the nodes and indices of the Scenegraph node. + + Currently only supported for tri tessellation nodes + """ + if isinstance(node, Ansys.Mechanical.Scenegraph.TriTessellationNode): + return _get_tri_nodes_and_coords(node) + + # TODO - support line tessellation node. See issue #809 + # if isinstance(node, Ansys.Mechanical.Scenegraph.LineTessellationNode): + return None, None + + def to_pyvista_plotter(app: "ansys.mechanical.core.embedding.App"): """Convert the app's geometry to a pyvista plotter instance.""" plotter = pv.Plotter() @@ -63,6 +76,8 @@ def to_pyvista_plotter(app: "ansys.mechanical.core.embedding.App"): ): scenegraph_node = Ansys.ACT.Mechanical.Tools.ScenegraphHelpers.GetScenegraph(body) np_coordinates, np_indices = _get_nodes_and_coords(scenegraph_node.Child) + if np_coordinates is None or np_indices is None: + continue pv_transform = _transform_to_pyvista(scenegraph_node.Transform) polydata = pv.PolyData(np_coordinates, np_indices).transform(pv_transform) color = pv.Color(bgr_to_rgb_tuple(body.Color)) diff --git a/src/ansys/mechanical/core/embedding/viz/usd_converter.py b/src/ansys/mechanical/core/embedding/viz/usd_converter.py index 2ebf27e55..28d806cfd 100644 --- a/src/ansys/mechanical/core/embedding/viz/usd_converter.py +++ b/src/ansys/mechanical/core/embedding/viz/usd_converter.py @@ -73,22 +73,32 @@ def _convert_tri_tessellation_node( return mesh_prim -def _convert_transform_node( - node: "Ansys.Mechanical.Scenegraph.TransformNode", - stage: Usd.Stage, - path: str, - rgb: typing.Tuple[int, int, int], +def _create_prim_with_transform( + stage: Usd.Stage, path: str, node: "Ansys.Mechanical.Scenegraph.TransformNode" ) -> Usd.Prim: - """Convert a mechanical transform node into a Usd Xform prim.""" + """Create an empty Usd Xform prim based on a mechanical transform node.""" prim = UsdGeom.Xform.Define(stage, path) rotation, translation = _transform_to_rotation_translation(node.Transform) prim.AddOrientOp().Set(rotation) prim.AddTranslateOp().Set(translation) + return prim + + +def _convert_transform_node( + node: "Ansys.Mechanical.Scenegraph.TransformNode", + stage: Usd.Stage, + path: str, + rgb: typing.Tuple[int, int, int], +) -> None: + """Add a Usd prim to the stage based on the given mechanical transform node. + + Currently only supports transforms that contain a single tri tessellation node. + """ child_node = node.Child - child_path = prim.GetPath().AppendPath("TriTessellation") if isinstance(child_node, Ansys.Mechanical.Scenegraph.TriTessellationNode): + prim = _create_prim_with_transform(stage, path, node) + child_path = prim.GetPath().AppendPath("TriTessellation") _convert_tri_tessellation_node(child_node, stage, child_path, rgb) - return prim def to_usd_stage(app: "ansys.mechanical.core.embedding.App", name: str) -> None: diff --git a/src/ansys/mechanical/core/mechanical.py b/src/ansys/mechanical/core/mechanical.py index 4d9b25d87..40a8917c7 100644 --- a/src/ansys/mechanical/core/mechanical.py +++ b/src/ansys/mechanical/core/mechanical.py @@ -235,7 +235,7 @@ def check_valid_mechanical(): >>> from ansys.mechanical.core import mechanical >>> from ansys.tools.path import change_default_mechanical_path - >>> mechanical_path = 'C:/Program Files/ANSYS Inc/v231/aisol/bin/win64/AnsysWBU.exe' + >>> mechanical_path = 'C:/Program Files/ANSYS Inc/v242/aisol/bin/win64/AnsysWBU.exe' >>> change_default_mechanical_path(mechanical_pth) >>> mechanical.check_valid_mechanical() True @@ -479,7 +479,7 @@ def version(self) -> str: Get the version of the connected Mechanical instance. >>> mechanical.version - '231' + '242' """ if self._version == None: @@ -943,7 +943,7 @@ def run_python_script( Return a string value from Project object. >>> mechanical.run_python_script('ExtAPI.DataModel.Project.ProductVersion') - '2023 R1' + '2024 R2' Return an empty string, when you try to return the Project object. @@ -1908,7 +1908,7 @@ def launch_grpc( Launch Mechanical using a specified executable file. - >>> exec_file_path = 'C:/Program Files/ANSYS Inc/v231/aisol/bin/win64/AnsysWBU.exe' + >>> exec_file_path = 'C:/Program Files/ANSYS Inc/v242/aisol/bin/win64/AnsysWBU.exe' >>> mechanical = launch_mechanical(exec_file_path) """ @@ -1947,8 +1947,8 @@ def launch_remote_mechanical(version=None) -> (grpc.Channel, Instance): # pragm Parameters ---------- version : str, optional - Mechanical version to run in the three-digit format. For example, ``"231"`` to - run 2023 R1. The default is ``None``, in which case the server runs the latest + Mechanical version to run in the three-digit format. For example, ``"242"`` to + run 2024 R2. The default is ``None``, in which case the server runs the latest installed version. Returns @@ -2064,8 +2064,8 @@ def launch_mechanical( When ``False``, Mechanical is not exited when the garbage for this Mechanical instance is collected. version : str, optional - Mechanical version to run in the three-digit format. For example, ``"231"`` - for 2023 R1. The default is ``None``, in which case the server runs the + Mechanical version to run in the three-digit format. For example, ``"242"`` + for 2024 R2. The default is ``None``, in which case the server runs the latest installed version. If PyPIM is configured and ``exce_file=None``, PyPIM launches Mechanical using its ``version`` parameter. keep_connection_alive : bool, optional @@ -2093,7 +2093,7 @@ def launch_mechanical( Launch Mechanical using a specified executable file. - >>> exec_file_path = 'C:/Program Files/ANSYS Inc/v231/aisol/bin/win64/AnsysWBU.exe' + >>> exec_file_path = 'C:/Program Files/ANSYS Inc/v242/aisol/bin/win64/AnsysWBU.exe' >>> mech = launch_mechanical(exec_file_path) Connect to an existing Mechanical instance at IP address ``192.168.1.30`` on port diff --git a/src/ansys/mechanical/core/misc.py b/src/ansys/mechanical/core/misc.py index 0d45383e8..84d45789d 100644 --- a/src/ansys/mechanical/core/misc.py +++ b/src/ansys/mechanical/core/misc.py @@ -47,8 +47,8 @@ def get_mechanical_bin(release_version): Parameters ---------- release_version: str - Mechanical version using the three-digit format. For example, ``"231"`` for - 2023 R1. + Mechanical version using the three-digit format. For example, ``"242"`` for + 2024 R2. """ if is_windows(): # pragma: no cover program_files = os.getenv("PROGRAMFILES", os.path.join("c:\\", "Program Files")) @@ -109,7 +109,7 @@ def check_valid_port(port, lower_bound=1000, high_bound=60000): """Check if the port is valid. Parameters - --------- + ---------- port : int Port to check. lower_bound : int, optional diff --git a/src/ansys/mechanical/core/pool.py b/src/ansys/mechanical/core/pool.py index c0434a9e4..fdaa6c5d0 100644 --- a/src/ansys/mechanical/core/pool.py +++ b/src/ansys/mechanical/core/pool.py @@ -111,19 +111,19 @@ class LocalMechanicalPool: On Windows, create a pool while specifying the Mechanical executable file. - >>> exec_file = 'C:/Program Files/ANSYS Inc/v231/aisol/bin/winx64/AnsysWBU.exe' + >>> exec_file = 'C:/Program Files/ANSYS Inc/v242/aisol/bin/winx64/AnsysWBU.exe' >>> pool = LocalMechanicalPool(10, exec_file=exec_file) Creating Pool: 100%|########| 10/10 [00:01<00:00, 1.43it/s] On Linux, create a pool while specifying the Mechanical executable file. - >>> exec_file = '/ansys_inc/v231/aisol/.workbench' + >>> exec_file = '/ansys_inc/v242/aisol/.workbench' >>> pool = LocalMechanicalPool(10, exec_file=exec_file) Creating Pool: 100%|########| 10/10 [00:01<00:00, 1.43it/s] In the PyPIM environment, create a pool. - >>> pool = LocalMechanicalPool(10, version="231") + >>> pool = LocalMechanicalPool(10, version="242") Creating Pool: 100%|########| 10/10 [00:01<00:00, 1.43it/s] """ @@ -529,8 +529,8 @@ def next_available(self, return_index=False): >>> mechanical = pool.next_available() >>> mechanical Ansys Mechanical [Ansys Mechanical Enterprise] - Product Version:231 - Software build date:Wed Jul 13 14:29:54 2022 + Product Version:242 + Software build date: 06/03/2024 14:47:58 """ # loop until the next instance is available while True: diff --git a/src/ansys/mechanical/core/run.py b/src/ansys/mechanical/core/run.py index 87565d1e6..bafce0442 100644 --- a/src/ansys/mechanical/core/run.py +++ b/src/ansys/mechanical/core/run.py @@ -91,6 +91,7 @@ def _cli_impl( port: int = 0, debug: bool = False, input_script: str = None, + script_args: str = None, exe: str = None, version: int = None, graphical: bool = False, @@ -111,6 +112,15 @@ def _cli_impl( if input_script: raise Exception("Cannot open in server mode with an input script.") + if not input_script and script_args: + raise Exception("Cannot add script arguments without an input script.") + + if script_args: + if '"' in script_args: + raise Exception( + "Cannot have double quotes around individual arguments in the --script-args string." + ) + # If the input_script and port are missing in batch mode, raise an exception if (not graphical) and (input_script is None) and (not port): raise Exception("An input script, -i, or port, --port, are required in batch mode.") @@ -142,6 +152,10 @@ def _cli_impl( args.append("-script") args.append(input_script) + if script_args: + args.append("-ScriptArgs") + args.append(f'"{script_args}"') + if (not graphical) and input_script: exit = True if version < 241: @@ -218,6 +232,14 @@ def _cli_impl( default=None, help="Name of the input Python script. Cannot be mixed with -p", ) +@click.option( + "--script-args", + default=None, + help='Arguments to pass into the --input-script, -i. \ +Write the arguments as a string, with each argument \ +separated by a comma. For example, --script-args "arg1,arg2" \ +This can only be used with the --input-script argument.', +) @click.option( "--exit", is_flag=True, @@ -246,7 +268,7 @@ def _cli_impl( "--revision", default=None, type=int, - help='Ansys Revision number, e.g. "241" or "232". If none is specified\ + help='Ansys Revision number, e.g. "242" or "241". If none is specified\ , uses the default from ansys-tools-path', ) @click.option( @@ -261,6 +283,7 @@ def cli( port: int, debug: bool, input_script: str, + script_args: str, revision: int, graphical: bool, show_welcome_screen: bool, @@ -274,9 +297,9 @@ def cli( The following example demonstrates the main use of this tool: - $ ansys-mechanical -r 241 -g + $ ansys-mechanical -r 242 -g - Starting Ansys Mechanical version 2023R2 in graphical mode... + Starting Ansys Mechanical version 2024R2 in graphical mode... """ exe = atp.get_mechanical_path(allow_input=False, version=revision) version = atp.version_from_path("mechanical", exe) @@ -286,6 +309,7 @@ def cli( port, debug, input_script, + script_args, exe, version, graphical, diff --git a/tests/conftest.py b/tests/conftest.py index c93f4b258..d86809225 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -372,7 +372,7 @@ def pytest_addoption(parser): mechanical_path = atp.get_mechanical_path(False) if mechanical_path == None: - parser.addoption("--ansys-version", default="241") + parser.addoption("--ansys-version", default="242") else: mechanical_version = atp.version_from_path("mechanical", mechanical_path) parser.addoption("--ansys-version", default=str(mechanical_version)) diff --git a/tests/embedding/test_app.py b/tests/embedding/test_app.py index 490619b86..5968a7200 100644 --- a/tests/embedding/test_app.py +++ b/tests/embedding/test_app.py @@ -91,7 +91,7 @@ def test_app_version(embedded_app): """Test version of the Application class.""" version = embedded_app.version assert type(version) is int - assert version >= 231 + assert version >= 232 @pytest.mark.embedding @@ -112,14 +112,17 @@ def test_app_print_tree(embedded_app, capsys, assets): geometry_import.Import(geometry_file) allbodies = Model.GetChildren(DataModelObjectCategory.Body, True) allbodies[0].Suppressed = True - embedded_app.print_tree(DataModel.Project, 1) + embedded_app.print_tree() captured = capsys.readouterr() printed_output = captured.out.strip() assert "Project" in printed_output - embedded_app.print_tree(DataModel.Project, 2) + assert "Suppressed" in printed_output + + embedded_app.print_tree(max_lines=2) captured = capsys.readouterr() printed_output = captured.out.strip() assert "Model" in printed_output + assert "truncating after" in printed_output with pytest.raises(AttributeError): embedded_app.print_tree(DataModel) @@ -262,6 +265,32 @@ def test_normal_appdata(pytestconfig, run_subprocess, rootdir): assert "ShowTriad value is False" in stdout +@pytest.mark.embedding_scripts +def test_building_gallery(pytestconfig, run_subprocess, rootdir): + """Test for building gallery check. + + When building the gallery, each example file creates another instance of the app. + When the BUILDING_GALLERY flag is enabled, only one instance is kept. + This is to test the bug fixed in https://github.com/ansys/pymechanical/pull/784 + and will fail on PyMechanical version 0.11.0 + """ + version = pytestconfig.getoption("ansys_version") + + embedded_gallery_py = os.path.join(rootdir, "tests", "scripts", "build_gallery_test.py") + + _, stderr = run_subprocess([sys.executable, embedded_gallery_py, version, "False"], None, False) + stderr = stderr.decode() + + # Assert Exception + assert "Cannot have more than one embedded mechanical instance" in stderr + + stdout, _ = run_subprocess([sys.executable, embedded_gallery_py, version, "True"]) + stdout = stdout.decode() + + # Assert stdout after launching multiple instances + assert "Multiple App launched with building gallery flag on" in stdout + + @pytest.mark.embedding def test_rm_lockfile(embedded_app, tmp_path: pytest.TempPathFactory): """Test lock file is removed on close of embedded application.""" diff --git a/tests/embedding/test_globals.py b/tests/embedding/test_globals.py index 437688a25..4f84186a8 100644 --- a/tests/embedding/test_globals.py +++ b/tests/embedding/test_globals.py @@ -34,12 +34,18 @@ def test_global_variables(embedded_app): "DataModel", "Model", "Tree", + "Graphics", "Quantity", "System", "Ansys", "Transaction", "MechanicalEnums", "DataModelObjectCategory", + "Point", + "SectionPlane", + "Point2D", + "Point3D", + "Vector3D", ] globals_dict = global_variables(embedded_app, True) for attribute in attributes: diff --git a/tests/scripts/build_gallery_test.py b/tests/scripts/build_gallery_test.py new file mode 100644 index 000000000..ead9afe63 --- /dev/null +++ b/tests/scripts/build_gallery_test.py @@ -0,0 +1,50 @@ +# Copyright (C) 2022 - 2024 ANSYS, Inc. and/or its affiliates. +# SPDX-License-Identifier: MIT +# +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +"""Launch embedded instance with build gallery flag.""" +import sys + +import ansys.mechanical.core as pymechanical + + +def launch_app(version): + """Launch embedded instance of app.""" + # Configuration.configure(level=logging.DEBUG, to_stdout=True, base_directory=None) + app = pymechanical.App(version=version) + app.update_globals(globals()) + return app + + +if __name__ == "__main__": + version = int(sys.argv[1]) + build_gallery_flag = sys.argv[2] + app1 = launch_app(version) + + if build_gallery_flag == "True": + + pymechanical.BUILDING_GALLERY = True + + app2 = launch_app(version) + print("Multiple App launched with building gallery flag on") + + elif build_gallery_flag == "False": + app2 = launch_app(version) diff --git a/tests/test_cli.py b/tests/test_cli.py index ff86a1343..342ddf7eb 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -112,6 +112,59 @@ def test_cli_script(disable_cli): assert "foo.py" in args +@pytest.mark.cli +def test_cli_scriptargs(disable_cli): + args, _ = _cli_impl( + exe="AnsysWBU.exe", + version=241, + input_script="foo.py", + script_args="arg1,arg2,arg3", + graphical=True, + ) + assert "-ScriptArgs" in args + assert '"arg1,arg2,arg3"' in args + assert "-script" in args + assert "foo.py" in args + + +@pytest.mark.cli +def test_cli_scriptargs_no_script(disable_cli): + with pytest.raises(Exception): + _cli_impl( + exe="AnsysWBU.exe", + version=241, + script_args="arg1,arg2,arg3", + graphical=True, + ) + + +@pytest.mark.cli +def test_cli_scriptargs_singlequote(disable_cli): + args, _ = _cli_impl( + exe="AnsysWBU.exe", + version=241, + input_script="foo.py", + script_args="arg1,arg2,'arg3'", + graphical=True, + ) + assert "-ScriptArgs" in args + assert "\"arg1,arg2,'arg3'\"" in args + assert "-script" in args + assert "foo.py" in args + + +@pytest.mark.cli +def test_cli_scriptargs_doublequote(disable_cli): + with pytest.raises(Exception): + _cli_impl( + exe="AnsysWBU.exe", + version=241, + input_script="foo.py", + script_args='arg1,"arg2",arg3', + graphical=True, + ) + + @pytest.mark.cli def test_cli_features(disable_cli): with pytest.warns(UserWarning): diff --git a/tests/test_mechanical.py b/tests/test_mechanical.py index 91ffbff2a..6e4bb5a77 100644 --- a/tests/test_mechanical.py +++ b/tests/test_mechanical.py @@ -441,7 +441,7 @@ def test_find_mechanical_path(): else: assert ".workbench" in path - assert re.match(r"\d{3}", str(version)) and version >= 231 + assert re.match(r"\d{3}", str(version)) and version >= 232 @pytest.mark.remote_session_launch @@ -461,13 +461,13 @@ def test_change_default_mechanical_path(): @pytest.mark.remote_session_launch def test_version_from_path(): - windows_path = "C:\\Program Files\\ANSYS Inc\\v231\\aisol\\bin\\winx64\\AnsysWBU.exe" + windows_path = "C:\\Program Files\\ANSYS Inc\\v242\\aisol\\bin\\winx64\\AnsysWBU.exe" version = ansys.tools.path.version_from_path("mechanical", windows_path) - assert version == 231 + assert version == 242 - linux_path = "/usr/ansys_inc/v231/aisol/.workbench" + linux_path = "/usr/ansys_inc/v242/aisol/.workbench" version = ansys.tools.path.version_from_path("mechanical", linux_path) - assert version == 231 + assert version == 242 with pytest.raises(RuntimeError): # doesn't contain version