From abe810d97fd952aeb86c4a2cda80ca8f4ebc3fad Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Fri, 6 Oct 2023 14:23:41 +0200 Subject: [PATCH 01/38] fix: vale warning --- doc/.vale.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index df6f7c71cc..e8a32e6856 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -11,7 +11,7 @@ MinAlertLevel = warning IgnoredScopes = code, tt # By default, `script`, `style`, `pre`, and `figure` are ignored. -SkippedScopes = script, style, pre, figure +SkippedScopes = script, style, pre, figure, highlight-python.notranslate # WordTemplate specifies what Vale will consider to be an individual word. WordTemplate = \b(?:%s)\b From 8952c3ac326e27813b0cdd939f485e5b5452e069 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Fri, 6 Oct 2023 14:44:53 +0200 Subject: [PATCH 02/38] Apply suggestions from code review --- doc/.vale.ini | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index e8a32e6856..bc667346db 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -11,7 +11,8 @@ MinAlertLevel = warning IgnoredScopes = code, tt # By default, `script`, `style`, `pre`, and `figure` are ignored. -SkippedScopes = script, style, pre, figure, highlight-python.notranslate +SkippedScopes = script, style, pre, figure, highlight-python notranslate + # WordTemplate specifies what Vale will consider to be an individual word. WordTemplate = \b(?:%s)\b From 3d783e1ac9cf7fc9eb73fae2cd6d80aacd0bc93d Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Fri, 6 Oct 2023 15:40:47 +0200 Subject: [PATCH 03/38] fix: `troubleshoot.rst` --- doc/source/user_guide/troubleshoot.rst | 29 +++++++------------------- 1 file changed, 7 insertions(+), 22 deletions(-) diff --git a/doc/source/user_guide/troubleshoot.rst b/doc/source/user_guide/troubleshoot.rst index a5337c7f7e..c7e66bca81 100644 --- a/doc/source/user_guide/troubleshoot.rst +++ b/doc/source/user_guide/troubleshoot.rst @@ -1,10 +1,6 @@ - - - .. _ref_troubleshooting: -======================= Troubleshooting PyMAPDL ======================= @@ -13,9 +9,8 @@ To help you resolve any problems that you might have when using PyMAPDL, some of the most common problems and frequently asked questions are posted here. -***************** Debug in PyMAPDL -***************** +---------------- If you are having trouble with PyMAPDL, you can record some internal logs into a file using a logger. @@ -43,11 +38,9 @@ If you believe you have found a bug, open an issue on the `PyMAPDL Issues page `_. -.. _debugging_launch_mapdl: -**************** Launching issues -**************** +---------------- There are several issues that can cause MAPDL not to launch, including: @@ -255,9 +248,6 @@ you get errors like ``libXp.so.6: cannot open shared object file: No such file or directory``, you are likely missing some necessary dependencies. - -.. _installing_mapdl_on_centos7: - CentOS 7 -------- @@ -268,8 +258,6 @@ On CentOS 7, you can install missing dependencies with: yum install openssl openssh-clients mesa-libGL mesa-libGLU motif libgfortran -.. _installing_mapdl_on_ubuntu: - Ubuntu ------ @@ -520,14 +508,10 @@ method lists higher versions first and student versions last. information, see :ref:`conflicts_student_version`. -.. _ref_pymapdl_limitations: - ********************* PyMAPDL usage issues ********************* -.. _ref_numpy_arrays_in_mapdl: - Issues when importing and exporting numpy arrays in MAPDL ========================================================= @@ -584,7 +568,6 @@ to one, have the same shape if later retrieved. -.. _ref_pymapdl_stability: ***************** PyMAPDL stability @@ -613,11 +596,13 @@ Issues ====== .. note:: + MAPDL 2021 R1 has a stability issue with the :func:`Mapdl.input() ` method. Avoid using input files if - possible. Attempt to use the :func:`Mapdl.upload() - ` method to upload nodes and elements and read them - in via the :func:`Mapdl.nread() ` and + possible. Attempt to use the + :func:`Mapdl.upload() ` method to upload + nodes and elements and read them in via the + :func:`Mapdl.nread() ` and :func:`Mapdl.eread() ` methods. From 8d63aa84bc08af0609187892d32715bc5d0d4308 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Fri, 6 Oct 2023 15:58:42 +0200 Subject: [PATCH 04/38] fix: .vale --- doc/.vale.ini | 3 +-- doc/source/user_guide/convert.rst | 8 ++++++-- doc/styles/Vocab/ANSYS/accept.txt | 1 + 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index bc667346db..b18bea0deb 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -11,8 +11,7 @@ MinAlertLevel = warning IgnoredScopes = code, tt # By default, `script`, `style`, `pre`, and `figure` are ignored. -SkippedScopes = script, style, pre, figure, highlight-python notranslate - +SkippedScopes = script, style, pre, figure, func # WordTemplate specifies what Vale will consider to be an individual word. WordTemplate = \b(?:%s)\b diff --git a/doc/source/user_guide/convert.rst b/doc/source/user_guide/convert.rst index f63fb52523..8b42c18e96 100644 --- a/doc/source/user_guide/convert.rst +++ b/doc/source/user_guide/convert.rst @@ -1,5 +1,6 @@ Translate scripts =================== + The `ansys-mapdl-core `_ library contains a few basic functions to translate existing MAPDL scripts into PyMAPDL scripts. Ideally, all math and variable setting @@ -8,7 +9,7 @@ are less transparent and more difficult to debug. Command-line interface -~~~~~~~~~~~~~~~~~~~~~~ +---------------------- In PyMAPDL v0.64.0 and later, you use the converter from the command line. After you have activated and installed the package as described @@ -40,7 +41,7 @@ The ``pymapdl_convert_script`` command uses the Hence, this command accepts most of this function's arguments. Usage ------ +~~~~~ You can call this command from the terminal with different arguments. Here is an example that converts the ``mapdl.dat`` @@ -90,6 +91,7 @@ function documentation. Caveats ~~~~~~~ + These examples only show an automatic translation of a verification: file and not optimized code. Should it be necessary to pull parameters or arrays from ansys, use the :func:`Mapdl.get_value() @@ -122,6 +124,7 @@ with: Script translation ~~~~~~~~~~~~~~~~~~ + Existing Ansys scripts can be translated using the :func:`convert_script() ` function: @@ -169,6 +172,7 @@ should it be necessary to insert a ``breakpoint()`` in the script. Example: VM1 - statically indeterminate reaction force analysis --------------------------------------------------------------- + Ansys MAPDL contains over 200 verification files used for Ansys validation and demonstration. These validation files are used here to demo the use of the PyMAPDL file translator :func:`convert_script() diff --git a/doc/styles/Vocab/ANSYS/accept.txt b/doc/styles/Vocab/ANSYS/accept.txt index f6c734f578..c2e46adea8 100644 --- a/doc/styles/Vocab/ANSYS/accept.txt +++ b/doc/styles/Vocab/ANSYS/accept.txt @@ -4,6 +4,7 @@ [Ee]igensolver [Hh]yperelasticity [Kk]eypoints +[Mm]apdl [Mm]atplotlib [Nn]umpy [Pp]ostprocess From f9458e569570e2a6a46047f3af67caae187d947f Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Fri, 6 Oct 2023 16:04:46 +0200 Subject: [PATCH 05/38] test: adding code and tt in `SkippedScopes` --- doc/.vale.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index b18bea0deb..0fd29dd4c4 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -11,7 +11,7 @@ MinAlertLevel = warning IgnoredScopes = code, tt # By default, `script`, `style`, `pre`, and `figure` are ignored. -SkippedScopes = script, style, pre, figure, func +SkippedScopes = script, style, pre, figure, code, tt # WordTemplate specifies what Vale will consider to be an individual word. WordTemplate = \b(?:%s)\b From 48d43f11e33da22be2a732e3748f088a304e18a8 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Fri, 6 Oct 2023 16:29:32 +0200 Subject: [PATCH 06/38] fix: vale checks --- doc/.vale.ini | 2 +- doc/styles/Vocab/ANSYS/accept.txt | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index 0fd29dd4c4..155ca33478 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -11,7 +11,7 @@ MinAlertLevel = warning IgnoredScopes = code, tt # By default, `script`, `style`, `pre`, and `figure` are ignored. -SkippedScopes = script, style, pre, figure, code, tt +SkippedScopes = script, style, pre, figure, code # WordTemplate specifies what Vale will consider to be an individual word. WordTemplate = \b(?:%s)\b diff --git a/doc/styles/Vocab/ANSYS/accept.txt b/doc/styles/Vocab/ANSYS/accept.txt index c2e46adea8..d16210a3fd 100644 --- a/doc/styles/Vocab/ANSYS/accept.txt +++ b/doc/styles/Vocab/ANSYS/accept.txt @@ -147,6 +147,7 @@ UPF UPFs viscoplastic vise +von VTK wan WAN From f4f3da8796d4be6616f818c4cb021ce901b465d6 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Fri, 6 Oct 2023 18:21:57 +0200 Subject: [PATCH 07/38] fix: moving .vale.ini --- doc/.vale.ini => .vale.ini | 62 +++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 31 deletions(-) rename doc/.vale.ini => .vale.ini (87%) diff --git a/doc/.vale.ini b/.vale.ini similarity index 87% rename from doc/.vale.ini rename to .vale.ini index 155ca33478..737059a451 100644 --- a/doc/.vale.ini +++ b/.vale.ini @@ -1,31 +1,31 @@ -# Core settings -# ============= - -# Location of our `styles` -StylesPath = "styles" - -# The options are `suggestion`, `warning`, or `error` (defaults to “warning”). -MinAlertLevel = warning - -# By default, `code` and `tt` are ignored. -IgnoredScopes = code, tt - -# By default, `script`, `style`, `pre`, and `figure` are ignored. -SkippedScopes = script, style, pre, figure, code - -# WordTemplate specifies what Vale will consider to be an individual word. -WordTemplate = \b(?:%s)\b - -# List of Packages to be used for our guidelines -Packages = Google - -# Define the Ansys vocabulary -Vocab = ANSYS - -[*.{md,rst}] - -# Apply the following styles -BasedOnStyles = Vale, Google - -# Removing Google-specific rule - Not applicable under some circumstances -Google.Colons = NO +# Core settings +# ============= + +# Location of our `styles` +StylesPath = .github/doc/styles + +# The options are `suggestion`, `warning`, or `error` (defaults to “warning”). +MinAlertLevel = warning + +# By default, `code` and `tt` are ignored. +IgnoredScopes = code, tt + +# By default, `script`, `style`, `pre`, and `figure` are ignored. +SkippedScopes = script, style, pre, figure + +# WordTemplate specifies what Vale will consider to be an individual word. +WordTemplate = \b(?:%s)\b + +# List of Packages to be used for our guidelines +Packages = Google + +# Define the Ansys vocabulary +Vocab = ANSYS + +[*.{md,rst}] + +# Apply the following styles +BasedOnStyles = Vale, Google + +# Removing Google-specific rule - Not applicable under some circumstances +Google.Colons = NO From 185c345d556c15ed46b8ea281213763b3d7b7ec8 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Fri, 6 Oct 2023 18:27:45 +0200 Subject: [PATCH 08/38] maint: affing `vale-config` path --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a35739975a..05b060f00e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -62,6 +62,7 @@ jobs: uses: ansys/actions/doc-style@v4 with: token: ${{ secrets.GITHUB_TOKEN }} + vale-config: ".vale.ini" smoke-tests: name: "Build and smoke tests" From 3a164f691b504c388b28f5dfe77e6529d249ff4b Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Fri, 6 Oct 2023 18:30:12 +0200 Subject: [PATCH 09/38] maint: removing skip --- .github/workflows/ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dbfb0b7169..05b060f00e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -57,8 +57,6 @@ jobs: doc-style: name: "Documentation style check" runs-on: ubuntu-latest - #Skipping until 2394 is fixed - if: github.ref == 'Skip for now' steps: - name: "Ansys documentation style checks" uses: ansys/actions/doc-style@v4 From e3bddb84fec5a1d5057dab027ad2bd86cb2c8d8d Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Fri, 6 Oct 2023 18:32:30 +0200 Subject: [PATCH 10/38] maint: fixing .vale.ini --- .github/workflows/ci.yml | 2 +- .vale.ini | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 05b060f00e..744212558c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -62,7 +62,7 @@ jobs: uses: ansys/actions/doc-style@v4 with: token: ${{ secrets.GITHUB_TOKEN }} - vale-config: ".vale.ini" + vale-config: .vale.ini smoke-tests: name: "Build and smoke tests" diff --git a/.vale.ini b/.vale.ini index 737059a451..c1782b0b78 100644 --- a/.vale.ini +++ b/.vale.ini @@ -2,7 +2,7 @@ # ============= # Location of our `styles` -StylesPath = .github/doc/styles +StylesPath = "./doc/styles" # The options are `suggestion`, `warning`, or `error` (defaults to “warning”). MinAlertLevel = warning From 70221693427e8412740938ea4bbb793eba9de27d Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Mon, 9 Oct 2023 17:18:38 +0200 Subject: [PATCH 11/38] maint: reverting changes with `.vale.ini` location --- .github/workflows/ci.yml | 1 - .vale.ini => doc/.vale.ini | 0 2 files changed, 1 deletion(-) rename .vale.ini => doc/.vale.ini (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 744212558c..a35739975a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -62,7 +62,6 @@ jobs: uses: ansys/actions/doc-style@v4 with: token: ${{ secrets.GITHUB_TOKEN }} - vale-config: .vale.ini smoke-tests: name: "Build and smoke tests" diff --git a/.vale.ini b/doc/.vale.ini similarity index 100% rename from .vale.ini rename to doc/.vale.ini From cfcc528dfd3c20ed73e30c7c8dd893b458a77f31 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Mon, 9 Oct 2023 17:20:10 +0200 Subject: [PATCH 12/38] fix: `StylesPath` in `.vale.ini` --- doc/.vale.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index c1782b0b78..a7d0dddb07 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -2,7 +2,7 @@ # ============= # Location of our `styles` -StylesPath = "./doc/styles" +StylesPath = "styles" # The options are `suggestion`, `warning`, or `error` (defaults to “warning”). MinAlertLevel = warning From bff477c359289d4dab8df895f321f9f17103e4a9 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Wed, 11 Oct 2023 14:19:52 +0200 Subject: [PATCH 13/38] fix: vale configuration to ignore `class` and `func` --- doc/.vale.ini | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/.vale.ini b/doc/.vale.ini index a7d0dddb07..a5f32a39cf 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -13,6 +13,9 @@ IgnoredScopes = code, tt # By default, `script`, `style`, `pre`, and `figure` are ignored. SkippedScopes = script, style, pre, figure +# `class` and `func` are ignored +TokenIgnores = (:class:`.*`|:func:`.*`) + # WordTemplate specifies what Vale will consider to be an individual word. WordTemplate = \b(?:%s)\b From e9d492dc19cbe7e5131d69193c83380d1e065450 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Wed, 11 Oct 2023 14:24:06 +0200 Subject: [PATCH 14/38] fix: `.vale.ini` --- doc/.vale.ini | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index a5f32a39cf..a68986d479 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -13,9 +13,6 @@ IgnoredScopes = code, tt # By default, `script`, `style`, `pre`, and `figure` are ignored. SkippedScopes = script, style, pre, figure -# `class` and `func` are ignored -TokenIgnores = (:class:`.*`|:func:`.*`) - # WordTemplate specifies what Vale will consider to be an individual word. WordTemplate = \b(?:%s)\b @@ -30,5 +27,8 @@ Vocab = ANSYS # Apply the following styles BasedOnStyles = Vale, Google +# `class` and `func` are ignored +TokenIgnores = (:class:`.*`|:func:`.*`) + # Removing Google-specific rule - Not applicable under some circumstances Google.Colons = NO From 51c465ad283a54fae64c3d559126aa9734b83779 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Wed, 11 Oct 2023 14:36:34 +0200 Subject: [PATCH 15/38] fix: adding :attr: in TokenIgnores --- doc/.vale.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index a68986d479..46580bdd18 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -28,7 +28,7 @@ Vocab = ANSYS BasedOnStyles = Vale, Google # `class` and `func` are ignored -TokenIgnores = (:class:`.*`|:func:`.*`) +TokenIgnores = (:class:`.*`|:func:`.*`|:attr:`.*`) # Removing Google-specific rule - Not applicable under some circumstances Google.Colons = NO From ac5719db97a85d478cca0e0e3ee5feebe3a46b58 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Wed, 11 Oct 2023 14:39:14 +0200 Subject: [PATCH 16/38] fix: adding `:meth:` in TokenIgnores --- doc/.vale.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index 46580bdd18..445c27679d 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -28,7 +28,7 @@ Vocab = ANSYS BasedOnStyles = Vale, Google # `class` and `func` are ignored -TokenIgnores = (:class:`.*`|:func:`.*`|:attr:`.*`) +TokenIgnores = (:class:`.*`|:func:`.*`|:attr:`.*`|:meth:`.*`) # Removing Google-specific rule - Not applicable under some circumstances Google.Colons = NO From 9cabcf64c16f2c36599f66679cf953d452924e44 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Wed, 11 Oct 2023 14:54:21 +0200 Subject: [PATCH 17/38] fix: vale warnings --- doc/.vale.ini | 2 +- .../ex_01-gmsh_example/ex_01-gmsh_example.rst | 4 +-- .../examples/extended_examples/index.rst | 2 +- doc/source/user_guide/convert.rst | 25 +++++++++---------- doc/source/user_guide/mapdl.rst | 21 ++++++++-------- doc/source/user_guide/parameters.rst | 9 ++++--- doc/source/user_guide/plotting.rst | 10 ++++---- doc/source/user_guide/pool.rst | 11 ++++---- doc/source/user_guide/troubleshoot.rst | 13 +++++----- 9 files changed, 48 insertions(+), 49 deletions(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index 445c27679d..02c860cdc2 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -28,7 +28,7 @@ Vocab = ANSYS BasedOnStyles = Vale, Google # `class` and `func` are ignored -TokenIgnores = (:class:`.*`|:func:`.*`|:attr:`.*`|:meth:`.*`) +TokenIgnores = (:class:`.*`|:func:`.*`|:attr:`.*`|:meth:`.*`|:py:`.*`) # Removing Google-specific rule - Not applicable under some circumstances Google.Colons = NO diff --git a/doc/source/examples/extended_examples/ex_01-gmsh_example/ex_01-gmsh_example.rst b/doc/source/examples/extended_examples/ex_01-gmsh_example/ex_01-gmsh_example.rst index 3cfcda7432..9515cda0ec 100644 --- a/doc/source/examples/extended_examples/ex_01-gmsh_example/ex_01-gmsh_example.rst +++ b/doc/source/examples/extended_examples/ex_01-gmsh_example/ex_01-gmsh_example.rst @@ -11,8 +11,8 @@ open source Python meshing library. For more information, visit the Gmsh website Description ----------- -Gmsh is used to import an external geometry file in STL format. The `pymapdl-reader `_ library -is then used to import the geometry into PyMAPDL. +Gmsh is used to import an external geometry file in STL format. The `PyMAPDL Reader `_ +library is then used to import the geometry into PyMAPDL. This example makes use of these files: diff --git a/doc/source/examples/extended_examples/index.rst b/doc/source/examples/extended_examples/index.rst index cf211167a5..b11463c440 100644 --- a/doc/source/examples/extended_examples/index.rst +++ b/doc/source/examples/extended_examples/index.rst @@ -11,7 +11,7 @@ with other programs, libraries, and features in development. +----------------------------+--------------------------------------------------------------------------------------------+ | `Cart-Pole Simulation`_ | Demonstrates a reinforcement machine learning example using MAPDL through PyMAPDL. | +----------------------------+--------------------------------------------------------------------------------------------+ -| :ref:`extended_example01` | Demonstrates the interoperability between PyMAPDL and the `gmsh `_ meshing library. | +| :ref:`extended_example01` | Demonstrates the interoperability between PyMAPDL and the `Gmsh `_ meshing library. | +----------------------------+--------------------------------------------------------------------------------------------+ | :ref:`python_upf_examples` | Demonstrates the interoperability between user-programmable functions in MAPDL and Python. | +----------------------------+--------------------------------------------------------------------------------------------+ diff --git a/doc/source/user_guide/convert.rst b/doc/source/user_guide/convert.rst index 8b42c18e96..d7d34a050e 100644 --- a/doc/source/user_guide/convert.rst +++ b/doc/source/user_guide/convert.rst @@ -94,10 +94,10 @@ Caveats These examples only show an automatic translation of a verification: file and not optimized code. Should it be necessary to pull -parameters or arrays from ansys, use the :func:`Mapdl.get_value() -` function, which is quite similar to the -MAPDL :func:`Mapdl.get() ` -command shown here: +parameters or arrays from ansys, use the +:func:`Mapdl.get_value() ` function, +which is quite similar to the MAPDL +:func:`Mapdl.get() ` command shown here: .. code:: pycon @@ -154,15 +154,14 @@ Or, you can convert code in form of strings for later processing using the The script conversion functions allow some interesting arguments, which you can see in the respective :func:`convert_script() ` and :func:`convert_apdl_block() ` -function documentation. Especially interesting are the ``add_imports``, ``comment_solve``, and -``print_com`` keyword arguments. - -Of particular note in the following examples is how most of the -commands can be called as a method to the Ansys object rather than -sending a string as a command. Additionally, take note that some -commands require the :attr:`Mapdl.non_interactive -` context manager since some -commands require and may break the server connection for some +function documentation. Especially interesting are the ``add_imports``, ``comment_solve``, +and ``print_com`` keyword arguments. + +Of particular note in the following examples is how most of the commands can be called +as a method to the Ansys object rather than sending a string as a command. Additionally, +take note that some commands require the +:attr:`Mapdl.non_interactive ` +context manager since some commands require and may break the server connection for some interfaces (such as CORBA) or are invalid (as in gRPC). Also note that APDL macros that use ``*CREATE`` have been replaced diff --git a/doc/source/user_guide/mapdl.rst b/doc/source/user_guide/mapdl.rst index 34c1b839a4..1f5dfc94ba 100644 --- a/doc/source/user_guide/mapdl.rst +++ b/doc/source/user_guide/mapdl.rst @@ -17,8 +17,9 @@ Additionally, MAPDL commands containing a ``/`` or ``*`` have had those characters removed, unless this causes a conflict with an existing name. Most notable is ``/SOLU``, which would conflict with ``SOLU``. Therefore, -``/SOLU`` is renamed to the :func:`Mapdl.slashsolu() -` method to differentiate it from ``solu``. +``/SOLU`` is renamed to the +:func:`Mapdl.slashsolu() ` +method to differentiate it from ``solu``. Out of the 1500 MAPDL commands, about 15 start with ``slash (/)`` and 8 start with ``star (*)``. @@ -35,9 +36,9 @@ Or, these commands can be called using keyword arguments: mapdl.esel("s", "type", vmin=1) -None of these restrictions apply to commands run with the :func:`Mapdl.run() -` method. It might be easier to run some of -these commands, such as ``"/SOLU"``: +None of these restrictions apply to commands run with the +:func:`Mapdl.run() ` method. It might be easier +to run some of these commands, such as ``"/SOLU"``: .. code:: python @@ -341,9 +342,9 @@ example: Prompts ~~~~~~~ Prompts from MAPDL automatically continued as if MAPDL is in batch -mode. Commands requiring user input, such as the :func:`Mapdl.vwrite() -` method fail and must be entered in -non-interactively. +mode. Commands requiring user input, such as the +:func:`Mapdl.vwrite() ` method fail +and must be entered in non-interactively. APDL command logging @@ -618,8 +619,8 @@ using the :attr:`Mapdl.chain_commands ` a The execution time using this approach is generally 4 to 10 times faster than running each command individually. You can then view the final response of -the chained commands with the :attr:`Mapdl.last_response -` attribute. +the chained commands with the +:attr:`Mapdl.last_response ` attribute. .. note:: Command chaining is not supported in distributed MAPDL. To improve diff --git a/doc/source/user_guide/parameters.rst b/doc/source/user_guide/parameters.rst index 09ebfc4aa9..f24ae022c7 100644 --- a/doc/source/user_guide/parameters.rst +++ b/doc/source/user_guide/parameters.rst @@ -4,10 +4,11 @@ ********************************* Setting and retrieving parameters ********************************* -APDL parameters can be retrieved from and instance of :class:`Mapdl -` using the :attr:`Mapdl.parameters -`. For example, if you want to use -MAPDL's :func:`Mapdl.get() ` method to +APDL parameters can be retrieved from and instance of +:class:`Mapdl ` +using the :attr:`Mapdl.parameters `. +For example, if you want to use MAPDL's +:func:`Mapdl.get() ` method to populate a parameter, you can then access the parameter with code: .. code:: pycon diff --git a/doc/source/user_guide/plotting.rst b/doc/source/user_guide/plotting.rst index 597118eaf8..f1f9df20dd 100644 --- a/doc/source/user_guide/plotting.rst +++ b/doc/source/user_guide/plotting.rst @@ -52,9 +52,9 @@ You plot lines within Python using the :func:`Mapdl.lplot() ` method. This example cuts the initial -area with the eight circles and then extrudes it. +visualize them using the :func:`Mapdl.vplot() ` +method. This example cuts the initial area with the eight circles and then +extrudes it. .. code:: pycon @@ -202,8 +202,8 @@ method: .. note:: Because boundary conditions can only target nodes, you can - only use ``plot_bc`` as an argument in the :func:`Mapdl.nplot() - ` method. + only use ``plot_bc`` as an argument in the + :func:`Mapdl.nplot() ` method. diff --git a/doc/source/user_guide/pool.rst b/doc/source/user_guide/pool.rst index 22af3fc372..efa975b1dc 100644 --- a/doc/source/user_guide/pool.rst +++ b/doc/source/user_guide/pool.rst @@ -2,12 +2,11 @@ Create a pool of MAPDL instances ================================ -PyMAPDL contains the :class:`LocalMapdlPool -` class to simplify creating multiple -local instances of the :class:`Mapdl ` -class for batch processing. This can be used for the batch processing of a -set of input files, convergence analysis, or other batch related -processes. +PyMAPDL contains the :class:`LocalMapdlPool ` +class to simplify creating multiple local instances of the +:class:`Mapdl ` class for batch processing. +This can be used for the batch processing of a set of input files, +convergence analysis, or other batch related processes. This code creates a pool: diff --git a/doc/source/user_guide/troubleshoot.rst b/doc/source/user_guide/troubleshoot.rst index c7e66bca81..66d3deded6 100644 --- a/doc/source/user_guide/troubleshoot.rst +++ b/doc/source/user_guide/troubleshoot.rst @@ -584,10 +584,9 @@ Use ``mute`` to improve stability ----------------------------------- When possible, pass ``mute=True`` to individual MAPDL commands or -set it globally with the :func:`Mapdl.mute -` method. This disables streaming -back the response from MAPDL for each command and marginally -improves performance and stability. Consider having a debug flag in +set it globally with the :func:`Mapdl.mute ` +method. This disables streaming back the response from MAPDL for each command +and marginally improves performance and stability. Consider having a debug flag in your program or script so that you can turn on and off logging and verbosity as needed. @@ -597,9 +596,9 @@ Issues .. note:: - MAPDL 2021 R1 has a stability issue with the :func:`Mapdl.input() - ` method. Avoid using input files if - possible. Attempt to use the + MAPDL 2021 R1 has a stability issue with the : + func:`Mapdl.input() ` + method. Avoid using input files if possible. Attempt to use the :func:`Mapdl.upload() ` method to upload nodes and elements and read them in via the :func:`Mapdl.nread() ` and From b7400b874f0f86a8066baa178dc56cfe1d7e2594 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Wed, 11 Oct 2023 14:59:32 +0200 Subject: [PATCH 18/38] fix: applying Revathy's review --- doc/.vale.ini | 2 +- doc/source/user_guide/troubleshoot.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index 02c860cdc2..8e94fbfd85 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -28,7 +28,7 @@ Vocab = ANSYS BasedOnStyles = Vale, Google # `class` and `func` are ignored -TokenIgnores = (:class:`.*`|:func:`.*`|:attr:`.*`|:meth:`.*`|:py:`.*`) +TokenIgnores = (:.*:`.*`) # Removing Google-specific rule - Not applicable under some circumstances Google.Colons = NO diff --git a/doc/source/user_guide/troubleshoot.rst b/doc/source/user_guide/troubleshoot.rst index 66d3deded6..3b2077d4c0 100644 --- a/doc/source/user_guide/troubleshoot.rst +++ b/doc/source/user_guide/troubleshoot.rst @@ -597,7 +597,7 @@ Issues .. note:: MAPDL 2021 R1 has a stability issue with the : - func:`Mapdl.input() ` + :func:`Mapdl.input() ` method. Avoid using input files if possible. Attempt to use the :func:`Mapdl.upload() ` method to upload nodes and elements and read them in via the From 3ef1bea84876a4a9d8f3c7e6d60b1458ca5ce8d9 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Wed, 11 Oct 2023 15:04:42 +0200 Subject: [PATCH 19/38] fix: vale check --- doc/.vale.ini | 2 +- doc/source/examples/extended_examples/gui/executable.rst | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index 8e94fbfd85..4bad05d2f4 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -28,7 +28,7 @@ Vocab = ANSYS BasedOnStyles = Vale, Google # `class` and `func` are ignored -TokenIgnores = (:.*:`.*`) +TokenIgnores = (:.*:`.*`|<.*>) # Removing Google-specific rule - Not applicable under some circumstances Google.Colons = NO diff --git a/doc/source/examples/extended_examples/gui/executable.rst b/doc/source/examples/extended_examples/gui/executable.rst index 042c405ea4..a80eeff5b1 100644 --- a/doc/source/examples/extended_examples/gui/executable.rst +++ b/doc/source/examples/extended_examples/gui/executable.rst @@ -160,7 +160,9 @@ The **Preprocessing** tab contains input fields for Poisson's ratio, Young modul Add a PyVista plotting frame in the window ========================================== -Start by importing the `QtInteractor `_ class from the ``pyvistaqt`` package and the :class:`MapdlTheme ` class from the ``ansys-mapdl-core`` package: +Start by importing the `QtInteractor `_ +class from the ``pyvistaqt`` package and the :class:`MapdlTheme ` +class from the ``ansys-mapdl-core`` package: .. code:: python From df3cd0fea266fb5c7f5107f2b2dca59dc65acdd8 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Wed, 11 Oct 2023 15:11:58 +0200 Subject: [PATCH 20/38] fic: ignoring vale for links --- doc/.vale.ini | 2 +- doc/source/api/unit_testing.rst | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index 4bad05d2f4..36ad014494 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -28,7 +28,7 @@ Vocab = ANSYS BasedOnStyles = Vale, Google # `class` and `func` are ignored -TokenIgnores = (:.*:`.*`|<.*>) +TokenIgnores = (:*:`.*`|<*>`_) # Removing Google-specific rule - Not applicable under some circumstances Google.Colons = NO diff --git a/doc/source/api/unit_testing.rst b/doc/source/api/unit_testing.rst index aaef4a6815..baef34ba03 100644 --- a/doc/source/api/unit_testing.rst +++ b/doc/source/api/unit_testing.rst @@ -1,6 +1,6 @@ .. _ref_unit_testing_contributing: -Unit Testing +Unit testing ============ Unit tests validate the software by testing that the logic @@ -8,7 +8,7 @@ implemented inside a certain method, class, or module is working as expected. They should be as atomic and independent as possible. -Unit testing is highly important. The tests check that code +Unit testing is highly important. The tests verify that code changes are consistent with other parts of the code and verify that these changes are implemented properly. From 3f70faadaa341b25c7414ec9616f462ecbedc15b Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Wed, 11 Oct 2023 15:14:35 +0200 Subject: [PATCH 21/38] fix: `.vale.ini` --- doc/.vale.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index 36ad014494..2729e3aa53 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -28,7 +28,7 @@ Vocab = ANSYS BasedOnStyles = Vale, Google # `class` and `func` are ignored -TokenIgnores = (:*:`.*`|<*>`_) +TokenIgnores = (:.*:`.*`|<.*>`_) # Removing Google-specific rule - Not applicable under some circumstances Google.Colons = NO From 10811f08f20f77fa62f5a05290f80eb83f4b8d34 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Wed, 11 Oct 2023 15:18:18 +0200 Subject: [PATCH 22/38] fix: `.vale.ini` configuration --- doc/.vale.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index 2729e3aa53..dafc6cd1e7 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -28,7 +28,7 @@ Vocab = ANSYS BasedOnStyles = Vale, Google # `class` and `func` are ignored -TokenIgnores = (:.*:`.*`|<.*>`_) +TokenIgnores = (:.*:`.*`|<*>`_) # Removing Google-specific rule - Not applicable under some circumstances Google.Colons = NO From 51bf5a1ab8229a27f4d812ba4864742514833a1f Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Wed, 11 Oct 2023 15:37:02 +0200 Subject: [PATCH 23/38] fix: applying Revathy's review --- doc/.vale.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index dafc6cd1e7..c8d343f456 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -28,7 +28,7 @@ Vocab = ANSYS BasedOnStyles = Vale, Google # `class` and `func` are ignored -TokenIgnores = (:.*:`.*`|<*>`_) +TokenIgnores = (:.*:`.*`), (<.*>) # Removing Google-specific rule - Not applicable under some circumstances Google.Colons = NO From fb80b15588bde46382edf101a4b120631e6b853b Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Wed, 11 Oct 2023 15:41:30 +0200 Subject: [PATCH 24/38] fic: `.vale.ini` configuration --- doc/.vale.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index c8d343f456..9b7a445932 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -28,7 +28,7 @@ Vocab = ANSYS BasedOnStyles = Vale, Google # `class` and `func` are ignored -TokenIgnores = (:.*:`.*`), (<.*>) +TokenIgnores = (:.*:`.*`)|(<.*>) # Removing Google-specific rule - Not applicable under some circumstances Google.Colons = NO From adb39164ea109c2ec47ae3b9df6a7eb936916eb3 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Wed, 11 Oct 2023 15:54:23 +0200 Subject: [PATCH 25/38] doc: applying fixes from vale warnings --- doc/source/api/unit_testing.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/source/api/unit_testing.rst b/doc/source/api/unit_testing.rst index baef34ba03..a8a2bb33d5 100644 --- a/doc/source/api/unit_testing.rst +++ b/doc/source/api/unit_testing.rst @@ -34,7 +34,7 @@ Coverage example To show how the coverage works, assume that you have this library: -**My awesome library** +**Awesome library** .. code:: python @@ -87,8 +87,8 @@ Continuous Integration and Continuous Deployment (CI/CD) approach Unit tests and integration tests are part of Continuous Integration (CI). The automation of testing, monitoring, and deployment of newly added -code allows Continuous Deployment (CD) throughout the application -lifecycle, providing a comprehensive CI/CD approach. +code allows Continuous Deployment (CD) throughout the app lifecycle, +providing a comprehensive CI/CD approach. .. figure:: ../images/cicd.jpg :width: 300pt From c706b2c0f888f805b7b840c7c54d68c0a9f5d096 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Wed, 11 Oct 2023 15:54:54 +0200 Subject: [PATCH 26/38] Update doc/.vale.ini Co-authored-by: Revathy Venugopal <104772255+Revathyvenugopal162@users.noreply.github.com> --- doc/.vale.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index 9b7a445932..3ec49e4045 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -27,7 +27,7 @@ Vocab = ANSYS # Apply the following styles BasedOnStyles = Vale, Google -# `class` and `func` are ignored +# Inline roles are ignored TokenIgnores = (:.*:`.*`)|(<.*>) # Removing Google-specific rule - Not applicable under some circumstances From e80ce17cb66caac0230a5d59692bfa785255d6cf Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Wed, 11 Oct 2023 16:23:35 +0200 Subject: [PATCH 27/38] doc: fixes references and formatting --- doc/source/getting_started/running_mapdl.rst | 2 +- doc/source/user_guide/index.rst | 2 +- doc/source/user_guide/parameters.rst | 3 +- doc/source/user_guide/troubleshoot.rst | 64 ++++++++++---------- 4 files changed, 36 insertions(+), 35 deletions(-) diff --git a/doc/source/getting_started/running_mapdl.rst b/doc/source/getting_started/running_mapdl.rst index 70103bcf36..2603c73f2d 100644 --- a/doc/source/getting_started/running_mapdl.rst +++ b/doc/source/getting_started/running_mapdl.rst @@ -138,7 +138,7 @@ the mentioned IP address/hostname for this to work. If you have MAPDL installed on your local host, you can use the :func:`launch_mapdl() ` method to both start and connect to MAPDL. -If you have any problem launching PyMAPDL, see :ref:`debugging_launch_mapdl`. +If you have any problem launching PyMAPDL, see :ref:`Launching issues `. If you are connecting to an MAPDL Docker image, the procedure is the same. Just make sure that you specify the mapped port instead of the internal Docker image port. diff --git a/doc/source/user_guide/index.rst b/doc/source/user_guide/index.rst index 2cd64af508..330af6785b 100644 --- a/doc/source/user_guide/index.rst +++ b/doc/source/user_guide/index.rst @@ -222,4 +222,4 @@ with it. For example: recommended. -For stability considerations, see :ref:`ref_pymapdl_stability`. +For stability considerations, see :ref:`PyMAPDL stability `. diff --git a/doc/source/user_guide/parameters.rst b/doc/source/user_guide/parameters.rst index f24ae022c7..f8cf0a8739 100644 --- a/doc/source/user_guide/parameters.rst +++ b/doc/source/user_guide/parameters.rst @@ -47,7 +47,8 @@ ROUT``, you can access it with this code: For a full list of the methods and attributes available to the ``Parameters`` class, see :ref:`ref_parameters_api`. -For additional information on PyMAPDL array limitations, see :ref:`ref_numpy_arrays_in_mapdl`. +For additional information on PyMAPDL array limitations, see +:ref:`Issues when importing and exporting numpy arrays in MAPDL `. .. _ref_special_named_param: diff --git a/doc/source/user_guide/troubleshoot.rst b/doc/source/user_guide/troubleshoot.rst index 3b2077d4c0..cffa40245f 100644 --- a/doc/source/user_guide/troubleshoot.rst +++ b/doc/source/user_guide/troubleshoot.rst @@ -56,7 +56,7 @@ There are several issues that can cause MAPDL not to launch, including: Connection timeout -================== +~~~~~~~~~~~~~~~~~~ In some networks, MAPDL might take longer than expected to connect to the license server or to the remote instance. In those cases, you might see the following message: @@ -86,12 +86,11 @@ Or if you are connecting to a remote instance you can use: Testing MAPDL launching -======================= +~~~~~~~~~~~~~~~~~~~~~~~ In some cases, it may be necessary to run the launch command manually from the command line. -On Windows ----------- +**On Windows** Open up a command prompt and run the version-dependent command: @@ -102,8 +101,7 @@ Open up a command prompt and run the version-dependent command: .. note:: PowerShell users can run the preceding command without quotes. -On Linux --------- +**On Linux** Run the version-dependent command: @@ -146,7 +144,7 @@ If this command doesn't launch MAPDL, look at the command output: .. vale on Licensing issues -================ +~~~~~~~~~~~~~~~~ Incorrect license server configuration can prevent MAPDL from being able to get a valid license. In such cases, you might see output **similar** to: @@ -177,7 +175,7 @@ for maintaining Ansys licensing or have a personal install of Ansys, see the onl For more comprehensive information, download the :download:`ANSYS Licensing Guide `. Incorrect licensing environment variables ------------------------------------------ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The license server can be also specified using the environment variable :envvar:`ANSYSLMD_LICENSE_FILE`. The following code examples show how you can see the value of this environment variable on @@ -202,7 +200,7 @@ either Windows or Linux. .. _vpn_issues_troubleshooting: Virtual private network (VPN) issues -==================================== +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From ANSYS 2022 R2 to ANSYS 2021 R1, MAPDL has issues launching when VPN software is running. One issue stems from MPI communication and can be solved by either passing @@ -241,15 +239,14 @@ On Windows, you can find the license configuration file that points to the licen .. _missing_dependencies_on_linux: Missing dependencies on Linux -============================= +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Some Linux installations might be missing required dependencies. If you get errors like ``libXp.so.6: cannot open shared object file: No such file or directory``, you are likely missing some necessary dependencies. -CentOS 7 --------- +**CentOS 7** On CentOS 7, you can install missing dependencies with: @@ -258,8 +255,7 @@ On CentOS 7, you can install missing dependencies with: yum install openssl openssh-clients mesa-libGL mesa-libGLU motif libgfortran -Ubuntu ------- +**Ubuntu** On Ubuntu 22.04, use this code to install the needed dependencies: @@ -288,8 +284,7 @@ using this code: apt-get install -y libxp6 -Ubuntu 20.04 and older ----------------------- +**Ubuntu 20.04 and older** If you are using Ubuntu 16.04, you can install ``libxp16`` with this code: @@ -321,7 +316,7 @@ then installs it via the ``dpkg`` package. .. _conflicts_student_version: Conflicts with student version -============================== +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Although you can install Ansys together with other Ansys products or versions, on Windows, you should not install a student version of an Ansys product together with its non-student version. @@ -341,7 +336,8 @@ to the correct location. ``SMP`` mode, unless another MPI option is specified. Incorrect environment variables -=============================== +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + If you are using a non-standard install, you might need to manually set the environment variables ``ANSYSXXX_DIR``, ``AWP_ROOTXXX``, and ``CADOE_LIBDIRXXX`` to the correct location. @@ -375,7 +371,8 @@ shown. For Ansys MAPDL 2022 R2, ``222`` appears where ``XXX`` is shown. .. vale on Using a proxy server -==================== +~~~~~~~~~~~~~~~~~~~~ + In some rare cases, you might experience some problems to connect to the MAPDL instance if you are using a proxy. When `gRPC `_ is used in a proxy environment, if a local address is specified (that is ``127.0.0.1``) @@ -387,7 +384,8 @@ to connect to MAPDL instance. Firewall settings -================= +~~~~~~~~~~~~~~~~~ + MAPDL and Python should have the correct firewall settings to allow communication between the two. If you are using a firewall, you should allow MAPDL to receive inbound connections to the following ports: @@ -413,8 +411,12 @@ For more information on how to **configure your firewall on Ubuntu Linux**, plea link `Security-Firewall | Ubuntu `_. +Location of the executable file +------------------------------- + Manually set the location of the executable file -================================================ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + If you have a non-standard install, PyMAPDL might be unable find your MAPDL installation. If this is the case, provide the location of MAPDL as the first parameter to :func:`launch_mapdl() `. @@ -438,7 +440,7 @@ as the first parameter to :func:`launch_mapdl() ` Default location of the executable file ---------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The first time that you run PyMAPDL, it detects the available Ansys installations. @@ -508,16 +510,15 @@ method lists higher versions first and student versions last. information, see :ref:`conflicts_student_version`. -********************* PyMAPDL usage issues -********************* +-------------------- -Issues when importing and exporting numpy arrays in MAPDL -========================================================= +Issues when importing and exporting NumPy arrays in MAPDL +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Because of the way MAPDL is designed, there is no way to store an array where one or more dimensions are zero. -This can happens in numpy arrays, where its first dimension can be +This can happens in NumPy arrays, where its first dimension can be set to zero. For example: .. code:: pycon @@ -569,19 +570,18 @@ to one, have the same shape if later retrieved. -***************** PyMAPDL stability -***************** +----------------- Recommendations -=============== +~~~~~~~~~~~~~~~ When connecting to an instance of MAPDL using gRPC (default), there are some cases where the MAPDL server might exit unexpectedly. There are several ways to improve MADPL performance and stability: Use ``mute`` to improve stability ------------------------------------ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When possible, pass ``mute=True`` to individual MAPDL commands or set it globally with the :func:`Mapdl.mute ` @@ -592,7 +592,7 @@ verbosity as needed. Issues -====== +~~~~~~ .. note:: From a3aecedd467032e9060b95b0a780ef2d53074db8 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Wed, 11 Oct 2023 16:35:36 +0200 Subject: [PATCH 28/38] maint: updating cicd --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 27aec9d9d6..53da909290 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -99,7 +99,7 @@ jobs: docs-build: name: "Build documentation" runs-on: ubuntu-latest - # needs: doc-style - Skip for now + needs: doc-style timeout-minutes: 60 outputs: PYMAPDL_VERSION: ${{ steps.version.outputs.PYMAPDL_VERSION }} From 6a03a659c075ca9f799cd14448281d2368e043a9 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Wed, 11 Oct 2023 16:48:41 +0200 Subject: [PATCH 29/38] fix: adding ref in `troubleshoots.rst` --- doc/source/user_guide/troubleshoot.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/source/user_guide/troubleshoot.rst b/doc/source/user_guide/troubleshoot.rst index cffa40245f..13610d5bad 100644 --- a/doc/source/user_guide/troubleshoot.rst +++ b/doc/source/user_guide/troubleshoot.rst @@ -38,6 +38,7 @@ If you believe you have found a bug, open an issue on the `PyMAPDL Issues page `_. +.. _ref_launching_issue: Launching issues ---------------- @@ -513,6 +514,8 @@ method lists higher versions first and student versions last. PyMAPDL usage issues -------------------- +.. _ref_issues_np_mapdl: + Issues when importing and exporting NumPy arrays in MAPDL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -568,7 +571,7 @@ to one, have the same shape if later retrieved. True - +.. _ref_pymapdl_stability: PyMAPDL stability ----------------- From 03be46e96260294e798c5ca04be15812c93814eb Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Fri, 13 Oct 2023 11:48:38 +0200 Subject: [PATCH 30/38] fix: reverting changes from `.vale.ini` --- doc/.vale.ini | 65 ++++++++++++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 34 deletions(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index 3ec49e4045..df6f7c71cc 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -1,34 +1,31 @@ -# Core settings -# ============= - -# Location of our `styles` -StylesPath = "styles" - -# The options are `suggestion`, `warning`, or `error` (defaults to “warning”). -MinAlertLevel = warning - -# By default, `code` and `tt` are ignored. -IgnoredScopes = code, tt - -# By default, `script`, `style`, `pre`, and `figure` are ignored. -SkippedScopes = script, style, pre, figure - -# WordTemplate specifies what Vale will consider to be an individual word. -WordTemplate = \b(?:%s)\b - -# List of Packages to be used for our guidelines -Packages = Google - -# Define the Ansys vocabulary -Vocab = ANSYS - -[*.{md,rst}] - -# Apply the following styles -BasedOnStyles = Vale, Google - -# Inline roles are ignored -TokenIgnores = (:.*:`.*`)|(<.*>) - -# Removing Google-specific rule - Not applicable under some circumstances -Google.Colons = NO +# Core settings +# ============= + +# Location of our `styles` +StylesPath = "styles" + +# The options are `suggestion`, `warning`, or `error` (defaults to “warning”). +MinAlertLevel = warning + +# By default, `code` and `tt` are ignored. +IgnoredScopes = code, tt + +# By default, `script`, `style`, `pre`, and `figure` are ignored. +SkippedScopes = script, style, pre, figure + +# WordTemplate specifies what Vale will consider to be an individual word. +WordTemplate = \b(?:%s)\b + +# List of Packages to be used for our guidelines +Packages = Google + +# Define the Ansys vocabulary +Vocab = ANSYS + +[*.{md,rst}] + +# Apply the following styles +BasedOnStyles = Vale, Google + +# Removing Google-specific rule - Not applicable under some circumstances +Google.Colons = NO From 3f000b6fc99a042fa003cef004cc830fd64d6434 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Fri, 13 Oct 2023 12:06:15 +0200 Subject: [PATCH 31/38] fix: updating `TokenIgnores` --- doc/.vale.ini | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/.vale.ini b/doc/.vale.ini index df6f7c71cc..924683c3df 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -27,5 +27,7 @@ Vocab = ANSYS # Apply the following styles BasedOnStyles = Vale, Google +TokenIgnores = (:(func|class|meth|attr):`(?:.|\n)*?`)|(<.*>) + # Removing Google-specific rule - Not applicable under some circumstances Google.Colons = NO From 71e6a9d67c72c4da00211ad02f274b3f4f8eb2de Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Fri, 13 Oct 2023 12:11:27 +0200 Subject: [PATCH 32/38] fix: adding `py` in `TokenIgnores` --- doc/.vale.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index 924683c3df..456943af0c 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -27,7 +27,7 @@ Vocab = ANSYS # Apply the following styles BasedOnStyles = Vale, Google -TokenIgnores = (:(func|class|meth|attr):`(?:.|\n)*?`)|(<.*>) +TokenIgnores = (:(func|class|meth|attr|py):`(?:.|\n)*?`)|(<.*>) # Removing Google-specific rule - Not applicable under some circumstances Google.Colons = NO From 7a55fd71784845f035df2dce7d28421fec4ea533 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Fri, 13 Oct 2023 12:15:02 +0200 Subject: [PATCH 33/38] maint: removing [Mm]apdl as accepted words --- doc/styles/Vocab/ANSYS/accept.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/styles/Vocab/ANSYS/accept.txt b/doc/styles/Vocab/ANSYS/accept.txt index d16210a3fd..5c3da5e154 100644 --- a/doc/styles/Vocab/ANSYS/accept.txt +++ b/doc/styles/Vocab/ANSYS/accept.txt @@ -4,7 +4,6 @@ [Ee]igensolver [Hh]yperelasticity [Kk]eypoints -[Mm]apdl [Mm]atplotlib [Nn]umpy [Pp]ostprocess From c805aa1a1a1698686ce662448d684354a6118551 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Fri, 13 Oct 2023 12:23:26 +0200 Subject: [PATCH 34/38] fix: skipping code sections --- doc/.vale.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/.vale.ini b/doc/.vale.ini index 456943af0c..7d2d583897 100644 --- a/doc/.vale.ini +++ b/doc/.vale.ini @@ -27,7 +27,7 @@ Vocab = ANSYS # Apply the following styles BasedOnStyles = Vale, Google -TokenIgnores = (:(func|class|meth|attr|py):`(?:.|\n)*?`)|(<.*>) +TokenIgnores = (:(func|class|meth|attr|py):`(?:.|\n)*?`)|(<.*>)|(.. code::.*\n| .*) # Removing Google-specific rule - Not applicable under some circumstances Google.Colons = NO From 0423478be8f713891ac59c1f75b7e35ff7ba49f1 Mon Sep 17 00:00:00 2001 From: Camille <78221213+clatapie@users.noreply.github.com> Date: Fri, 13 Oct 2023 14:33:21 +0200 Subject: [PATCH 35/38] Update doc/source/user_guide/mapdl.rst --- doc/source/user_guide/mapdl.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/source/user_guide/mapdl.rst b/doc/source/user_guide/mapdl.rst index 1f5dfc94ba..bfaa5dc813 100644 --- a/doc/source/user_guide/mapdl.rst +++ b/doc/source/user_guide/mapdl.rst @@ -36,9 +36,9 @@ Or, these commands can be called using keyword arguments: mapdl.esel("s", "type", vmin=1) -None of these restrictions apply to commands run with the -:func:`Mapdl.run() ` method. It might be easier -to run some of these commands, such as ``"/SOLU"``: +None of these restrictions apply to commands run with the :func:`Mapdl.run() +` method. It might be easier to run some of +these commands, such as ``"/SOLU"``: .. code:: python From b5532abeb489cb788473121b5b4a488509dfac90 Mon Sep 17 00:00:00 2001 From: clatapie Date: Fri, 13 Oct 2023 16:58:08 +0000 Subject: [PATCH 36/38] Update the image cache --- .../plot_incomplete_nodal_selection.png | Bin 24046 -> 36204 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/.image_cache/plot_incomplete_nodal_selection.png b/tests/.image_cache/plot_incomplete_nodal_selection.png index 31ba437e1a063a0cfd5a4148dbcb09cd4ca8f718..620a5edb2055cad822c7a85b9cc8043856ac3397 100644 GIT binary patch literal 36204 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 Ji(}R|{x8QCG+h7y literal 24046 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¥Ch8I8qS;x) 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 Date: Mon, 16 Oct 2023 17:00:23 +0000 Subject: [PATCH 37/38] Update the image cache --- .../plot_incomplete_nodal_selection.png | Bin 36204 -> 24046 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/.image_cache/plot_incomplete_nodal_selection.png b/tests/.image_cache/plot_incomplete_nodal_selection.png index 620a5edb2055cad822c7a85b9cc8043856ac3397..31ba437e1a063a0cfd5a4148dbcb09cd4ca8f718 100644 GIT binary patch literal 24046 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¥Ch8I8qS;x) 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 Ji(}R|{x8QCG+h7y From 241fc575eab000105d90a3b4fe528ee5bc42046a Mon Sep 17 00:00:00 2001 From: German Date: Mon, 16 Oct 2023 19:15:42 +0200 Subject: [PATCH 38/38] Empty comment to trigger CICD