Skip to content

Commit bb220d1

Browse files
committed
Merge branch 'release/0.62' of https://github.com/pyansys/pymapdl into release/0.62
2 parents 29fb878 + b1aecbc commit bb220d1

File tree

19 files changed

+1829
-48
lines changed

19 files changed

+1829
-48
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ dist/
3030
_build/
3131
pyansys/Interface.py
3232
*.bat
33-
doc/source/examples/*
33+
doc/source/examples/gallery_examples/*
3434
*.out
3535
*.tar.gz
3636
*.mypy_cache

doc/source/examples/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Here are a series of examples using MAPDL with ``ansys-mapdl-core``.
2424

2525
technology_showcase_examples/techdemo-1/ex_0-tecbrakesqueal
2626
technology_showcase_examples/techdemo-20/20-example-technology-showcase-dynamic-simulation-PCB
27+
technology_showcase_examples/techdemo-28/ex_28-tecfricstir
2728

2829
.. include:: technology_showcase_examples/README.txt
2930
:start-line: 2

doc/source/examples/technology_showcase_examples/README.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,6 @@ this project.
1919
| :ref:`tech_demo_01` | Technology showcase demonstration example 01: Brake Squeal Analysis. |
2020
+----------------------------+---------------------------------------------------------------------------------------------------------+
2121
| :ref:`tech_demo_20` | Technology showcase demonstration example 20: Dynamic simulation of a printed circuit board assembly |
22+
+----------------------------+---------------------------------------------------------------------------------------------------------+
23+
| :ref:`tech_demo_28` | Technology showcase demonstration example 28: Friction Stir Welding (FSW) Simulation |
2224
+----------------------------+---------------------------------------------------------------------------------------------------------+

doc/source/examples/technology_showcase_examples/techdemo-1/ex_0-tecbrakesqueal.rst

Lines changed: 42 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ The following topics are available:
2323
* `1.10. Input Files`_
2424

2525
You can also perform this example analysis entirely in the Ansys
26-
Mechanical Application. For more information, see Brake-Squeal Analysis in the Workbench Technology Showcase: Example Problems.
26+
Mechanical Application. For more information, see Brake-Squeal Analysis in the
27+
Workbench Technology Showcase: Example Problems.
2728

2829
1.1. Introduction
2930
-----------------
@@ -97,11 +98,11 @@ The following modeling topics are available:
9798
Brake-squeal problems typically require manual calculations of the unsymmetric
9899
terms arising from sources such as frictional sliding, and then inputting the
99100
unsymmetric terms using special elements (such as
100-
MATRIX27). It is a tedious process requiring a matched mesh
101+
``MATRIX27``). It is a tedious process requiring a matched mesh
101102
at the disc-pad interface along with assumptions related to the amount of area in
102103
contact and sliding.
103104

104-
3-D contact elements (CONTA17x) offer a more efficient alternative by modeling
105+
3-D contact elements (``CONTA17x``) offer a more efficient alternative by modeling
105106
surface-to-surface contact at the pad-disc interface. With contact
106107
surface-to-surface contact elements, a matched mesh is unnecessary at the
107108
contact-target surface, and there is no need to calculate the unsymmetric
@@ -142,29 +143,31 @@ nodal point (normal-to-target surface) for MPC bonded contact pairs.
142143
1.3.3. Generating Internal Sliding Motion
143144
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
144145

145-
The **CMROTATE** command defines constant rotational velocities on
146+
The :meth:`Mapdl.cmrotate() <ansys.mapdl.core.Mapdl.cmrotate>`
147+
command defines constant rotational velocities on
146148
the contact/target nodes to generate internal sliding motion. The specified
147149
rotational velocity is used only to determine the sliding direction and has no
148150
effect on the final solution. The element component used should include only the
149151
contact or the target elements that are on the brake disc/rotor. In this example,
150152
the target elements are defined on the disc surface and the contact elements are
151153
defined on the pad surface. The target elements attached to the disc surface are
152154
grouped to form a component named E\_ROTOR which is then later specified on the
153-
**CMROTATE** command to generate a sliding frictional force.
155+
:meth:`Mapdl.cmrotate() <ansys.mapdl.core.Mapdl.cmrotate>`
156+
command to generate a sliding frictional force.
154157

155158
1.3.4. Meshing the Brake Disc-Pad Model
156159
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
157160

158161
The sweep method is used to generate a hexahedral dominant mesh of the brake
159162
system assembly. Brake discs, pads and all other associated components are meshed
160-
with 20-node structural solid SOLID186 elements with
163+
with 20-node structural solid ``SOLID186`` elements with
161164
uniform reduced-integration element technology. The edge sizing tool is used to
162165
obtains a refined mesh at the pad-disc interface to improve the solution accuracy.
163166
For problems with a large unsymmetric coefficient, a finer mesh should be used at
164167
the pad-disc interface to accurately predict the unstable modes.
165-
CONTA174 (3-D 8 node surface to surface contact)
168+
``CONTA174`` (3-D 8 node surface to surface contact)
166169
elements are used to define the contact surface and
167-
TARGE170 (3-D target segment) elements are used to
170+
``TARGE170`` (3-D target segment) elements are used to
168171
define the target surface. The brake disc-pad assembly is meshed with total of 60351
169172
nodes and 11473 elements.
170173

@@ -287,13 +290,14 @@ is based on the initial contact status.
287290
Following is the process for solving a brake-squeal problem using this method:
288291

289292
1. Perform a linear partial-element analysis with no prestress effects.
290-
2. Generate the unsymmetric stiffness matrix (**NROPT**,UNSYM).
291-
3. Generate sliding frictional force (**CMROTATE**).
292-
4. Perform a complex modal analysis using the QRDAMP or UNSYM eigensolver.
293+
2. Generate the unsymmetric stiffness matrix
294+
(:meth:`Mapdl.nropt("UNSYM") <ansys.mapdl.core.Mapdl.nropt>`).
295+
3. Generate sliding frictional force (:meth:`Mapdl.cmrotate() <ansys.mapdl.core.Mapdl.cmrotate>`).
296+
4. Perform a complex modal analysis using the QRDAMP or UNSYM eigensolver.
293297

294298
When using the QRDAMP solver, you can reuse the symmetric
295299
eigensolution from the previous load steps
296-
(**QRDOPT**), effective when performing a friction-
300+
(:meth:`Mapdl.qrdopt() <ansys.mapdl.core.Mapdl.qrdopt>`), effective when performing a friction-
297301
sensitive/parametric analysis, as it saves time by not recalculating the
298302
real symmetric modes after the first solve operation.
299303

@@ -366,11 +370,11 @@ prestressed matrix is generated at the end of the first static solution.
366370
Following is the process for solving a brake-squeal problem using this method:
367371

368372
1. Perform a nonlinear, large-deflection static analysis
369-
(**NLGEOM**,ON).
373+
(:meth:`Mapdl.nlgeom("ON") <ansys.mapdl.core.Mapdl.nlgeom>`).
370374

371375
Use the unsymmetric Newton-Raphson method
372-
(**NROPT**,UNSYM). Specify the restart control points needed
373-
for the linear perturbation analysis (**RESCONTROL**)
376+
(:meth:`Mapdl.nropt("UNSYM") <ansys.mapdl.core.Mapdl.nropt>`). Specify the restart control points needed
377+
for the linear perturbation analysis (:meth:`Mapdl.rescontrol() <ansys.mapdl.core.Mapdl.rescontrol>`)
374378

375379
Create components for use in the next step.
376380

@@ -379,26 +383,26 @@ Following is the process for solving a brake-squeal problem using this method:
379383

380384
2. Restart the previous static solution from the desired load step and
381385
substep, and perform the first phase of the perturbation analysis while
382-
preserving the **.ldhi**, **.rnnn** and **.rst** files (**ANTYPE**,STATIC,RESTART,,,PERTURB).
386+
preserving the **.ldhi**, **.rnnn** and **.rst** files (:meth:`Mapdl.antype("STATIC", "RESTART", "", "", "PERTURB") <ansys.mapdl.core.Mapdl.antype>`).
383387

384388
Initiate a modal linear perturbation analysis
385-
(**PERTURB**,MODAL).
389+
(:meth:`Mapdl.perturb("MODAL") <ansys.mapdl.core.Mapdl.perturb>`).
386390

387-
Generate forced frictional sliding contact (**CMROTATE**),
391+
Generate forced frictional sliding contact (:meth:`Mapdl.cmrotate() <ansys.mapdl.core.Mapdl.cmrotate>`),
388392
specifying the component names created in the previous step.
389393

390394
The contact stiffness matrix is based only on the contact status at the
391395
restart point.
392396

393397
Regenerate the element stiffness matrix at the end of the first phase of
394-
the linear perturbation solution (**SOLVE**,ELFORM).
398+
the linear perturbation solution (:meth:`Mapdl.solve("ELFORM") <ansys.mapdl.core.Mapdl.solve>`).
395399

396400
3. Obtain the linear perturbation modal solution using the QRDAMP or UNSYM
397-
eigensolver (**MODOPT**).
401+
eigensolver (:meth:`Mapdl.modopt() <ansys.mapdl.core.Mapdl.modopt>`).
398402

399403
When using the QRDAMP solver, you can reuse the symmetric
400404
eigensolution from the previous load steps
401-
(**QRDOPT**), effective when performing a
405+
(:meth:`Mapdl.qrdopt() <ansys.mapdl.core.Mapdl.qrdopt>`), effective when performing a
402406
friction-sensitive/parametric analysis, as it saves time by not
403407
recalculating the real symmetric modes after the first solve
404408
operation.
@@ -535,24 +539,29 @@ the brake-squeal problem. This method uses Newton-Raphson iterations for *both*
535539
Following is the process for solving a brake-squeal problem using this method:
536540

537541
1. Perform a nonlinear, large-deflection static analysis
538-
(**NLGEOM**,ON). Use the unsymmetric Newton-Raphson method (**NROPT**,UNSYM).
539-
Specify the restart control points needed for the linear perturbation analysis (**RESCONTROL**).
542+
(:meth:`Mapdl.nlgeom("ON") <ansys.mapdl.core.Mapdl.nlgeom>`).
543+
Use the unsymmetric Newton-Raphson method (:meth:`Mapdl.nropt("UNSYM") <ansys.mapdl.core.Mapdl.nropt>`).
544+
Specify the restart control points needed for the linear perturbation analysis
545+
(:meth:`Mapdl.rescontrol() <ansys.mapdl.core.Mapdl.rescontrol>`).
540546

541-
2. Perform a full second static analysis. Generate sliding contact (**CMROTATE**) to form an unsymmetric stiffness matrix.
547+
2. Perform a full second static analysis. Generate sliding contact
548+
(:meth:`Mapdl.cmrotate() <ansys.mapdl.core.Mapdl.cmrotate>`) to form an unsymmetric stiffness matrix.
542549

543550
3. After obtaining the second static solution, postprocess the contact results.
544551
Determine the status (that is, whether the elements are sliding, and the sliding distance, if any).
545552

546-
4. Restart the previous static solution from the desired load step and substep, and perform the first phase of the perturbation analysis while
547-
preserving the **.ldhi**, **.rnnn** and **.rst** files (**ANTYPE**,STATIC,RESTART,,,PERTURB).
553+
4. Restart the previous static solution from the desired load step and substep, and perform the first
554+
phase of the perturbation analysis while preserving the **.ldhi**, **.rnnn** and
555+
**.rst** files (:meth:`Mapdl.antype("STATIC", "RESTART",,, "PERTURB") <ansys.mapdl.core.Mapdl.antype>`).
548556

549557
Initiate a modal linear perturbation analysis
550-
(**PERTURB**,MODAL).
558+
(:meth:`Mapdl.perturb("MODAL") <ansys.mapdl.core.Mapdl.perturb>`).
551559

552560
Regenerate the element stiffness matrix at the end of the first phase of
553-
the linear perturbation solution (**SOLVE**,ELFORM).
561+
the linear perturbation solution (:meth:`Mapdl.solve("ELFORM") <ansys.mapdl.core.Mapdl.solve>`).
554562

555-
5. Obtain the linear perturbation modal solution using the QRDAMP or UNSYM eigensolver (**MODOPT**).
563+
5. Obtain the linear perturbation modal solution using the QRDAMP or UNSYM eigensolver
564+
(:meth:`Mapdl.modopt() <ansys.mapdl.core.Mapdl.modopt>`).
556565

557566
6. Expand the modes and postprocess the results (from the **Jobname.RSTP** file).
558567
The following inputs show the solution steps involved with this method:
@@ -683,7 +692,8 @@ Following is the process for solving a brake-squeal problem using this method:
683692
---------------------------
684693

685694
The unstable mode predictions for the brake disc-pad assembly using all three methods
686-
were very close due to the relatively small prestress load. The `1.6.1. Linear Non-prestressed Modal Analysis`_ predicted
695+
were very close due to the relatively small prestress load.
696+
The `1.6.1. Linear Non-prestressed Modal Analysis`_ predicted
687697
unstable modes at 6474 Hz, while the other two solution methods predicted unstable modes
688698
at 6470 Hz.
689699

@@ -806,7 +816,7 @@ frequency close to 6470 Hz.
806816
A parametric study was performed on the brake disc model using a linear
807817
non-prestressed modal solution with an increasing coefficient of friction. QRDAMP
808818
eigensolver is used to perform the parametric studies by reusing the symmetric real
809-
modes (**QRDOPT**,ON) obtained in the first load
819+
modes (:meth:`Mapdl.qrdopt("ON") <ansys.mapdl.core.Mapdl.qrdopt>`) obtained in the first load
810820
step.
811821

812822
The following plot suggests that modes with similar characteristics approach each
@@ -886,7 +896,7 @@ use for a brake-squeal problem:
886896
+-----------------------------------+----------------------------------------------------------+----------------------------------------------+
887897

888898
The following table provides guidelines for selecting the optimal eigensolver
889-
(**MODOPT**) for obtaining the brake-squeal solution:
899+
(:meth:`Mapdl.modopt() <ansys.mapdl.core.Mapdl.modopt>`) for obtaining the brake-squeal solution:
890900

891901

892902

0 commit comments

Comments
 (0)