Skip to content

Commit b26796a

Browse files
authored
Merge pull request #171 from amnp95/PML3DVISCOUS
Update PML documentation to include new parameters and examples for PML3D ( PML3DVISCOUS)
2 parents 481dd34 + d968129 commit b26796a

1 file changed

Lines changed: 62 additions & 34 deletions

File tree

  • source/user/manual/model/elements

source/user/manual/model/elements/PML.rst

Lines changed: 62 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ W. Zhang, E. Esmaeilzadeh Seylabi, E. Taciroglu,(2019), An ABAQUS toolbox for so
2121
element PML $eleTag $node1 $node2 $node3 $node4 $E $nu $rho $EleType $Thickness $m $R $RD_half_width_x $Depth $alpha $beta
2222

2323
2. PML3D
24-
element PML $eleTag $node1 $node2 $node3 $node4 $node5 $node6 $node7 $node8 $gamma $beta $eta $E $nu $rho $EleType $Thickness $m $R $RD_half_width_x $RD_half_width_y $Depth $alpha $beta
24+
element PML $eleTag $node1 $node2 $node3 $node4 $node5 $node6 $node7 $node8 $matTag $PMLThickness meshType meshParams... [-Cp $Cp] [-m $m] [-R $R] [-alphabeta $alpha $beta] [-Newmark $gamma $beta $eta $keisi]
2525

2626
1. **PML2D**
2727

@@ -49,52 +49,80 @@ W. Zhang, E. Esmaeilzadeh Seylabi, E. Taciroglu,(2019), An ABAQUS toolbox for so
4949
2. **PML3D**
5050

5151
.. csv-table::
52-
:header: "Argument", "Type", "Description"
53-
:widths: 10, 10, 90
52+
:header: "Argument", "Type", "Description"
53+
:widths: 10, 10, 90
54+
55+
"eleTag", "|integer|", "unique integer tag identifying element object"
56+
"node1 node2 node3 node4 node5 node6 node7 node8", "8 |integer|", "the eight nodes defining the element input in counterclockwise order (-ndm 3 -ndf 9)"
57+
"matTag", "|integer|", "material tag (must be an ElasticIsotropicMaterial)"
58+
"PMLThickness", "|float|", "Thickness of the PML around regular domain"
59+
"meshType", "|string|", "Mesh type defining the PML region (General, Box, Sphere, Cylinder)"
60+
"meshParams...", "|float|", "Additional parameters depending on meshType (see below)"
61+
"-Cp", "|float|", "PML parameter defining wave speed (default calculated from material properties)"
62+
"-m", "|float|", "PML parameter (default m=2)"
63+
"-R", "|float|", "PML parameter (default R=1e-8)"
64+
"-alphabeta", "|float float|", "User-defined alpha and beta parameters"
65+
"-Newmark", "|float float float float|", "Newmark integration parameters (gamma, beta, eta, keisi)"
66+
67+
**Mesh Type Parameters**
68+
69+
.. csv-table::
70+
:header: "Mesh Type", "Required Parameters", "Description"
71+
:widths: 20, 30, 50
72+
73+
General, "Xref, Yref, Zref, N1, N2, N3", "Reference point and normal vector components"
74+
Box, "XC, YC, ZC, L, W, H", "Center coordinates at the surface and dimensions of the box (e.g., 20, 50, 0.0, widthX, widthY, depthZ)"
5475

55-
eleTag,|integer|,unique integer tag identifying element object
56-
node1 node2 node3 node4 node5 node6 node7 $node8, 8 |integer|, the eight nodes defining the element input in counterclockwise order (-ndm 2 -ndf 5)
57-
:math:`{\gamma}`, |float|, Newmark integration parameter
58-
:math:`{\beta}`, |float|, Newmark integration parameter
59-
:math:`{\eta}`, |float|, Newmark integration parameter
60-
E, |float| , Young's modulus
61-
nu, |float| , Poisson's Ratio
62-
rho, |float| , Density
63-
EleType, |float|, Element type based on the region of the PML it can be 1 2 3 4 5 (you can choose any number the code automaticlly )
64-
Thickness, |float|, Thickness of the PML around regular domain
65-
m, |float|, PML parameter (m=2 is recommended)
66-
R, |float|, PML parameter (R=1e-8 is recommended)
67-
RD_half_width_x, |float|, Distance of the border of the PML and regular domain to the center of the domain at origin
68-
Depth, |float|, Depth of the PML from the surface of the regular domain in the negative y direction
69-
alpha, |float|, Rayleigh damping parameter for PML (alpha will be 0 even if you input a value)
70-
beta, |float|, Rayleigh damping parameter for PML (beta will be 0 even if you input a value)
7176

7277
.. note::
7378

74-
1. For 2D PML each node has 5 DOFs (2 translations and Sx, Sy, Sxy)
75-
2. For 3D PML each node has 9 DOFs (3 translations and Sx, Sy, Sz, Sxy, Sxz, Syz)
76-
3. There is no recorder for PML elements. The stresses can be obtained from the node recorders.
77-
4. When using PML 3D only newmark integration method can be used and the parameters using for the integration should be passed to the element(Example: :math:`{\gamma} = 1/2, {\beta} = 1/4, {\eta} =1/12`)
78-
5. The center of the regular domian should be at the origin of the global coordinate system (0,0,0)
79+
1. For PML 2D, each node has 5 DOFs (2 translations and Sx, Sy, Sxy)
80+
2. For PML 3D, each node has 9 DOFs (3 translations and Sx, Sy, Sz, Sxy, Sxz, Syz)
81+
3. For PML 2D, the center of the regular domian should be at the origin of the global coordinate system (0,0,0)
82+
4. There is no recorder for PML elements. The stresses can be obtained from the node recorders.
83+
5. When using PML 3D, only the Newmark integration method can be used. If the parameters for the integration are not passed to the element, the default parameters will be used (Example: :math:`\gamma = 0.5, \beta = 0.25, \eta = 0.0833333333333333, \xi = 0.0208333333333333`).
7984
6. It is highly recommended to use the same mesh for the PML and the regular domain
8085
7. It is highly recommended to use the same material for the PML and the regular domain
81-
8. It is highly recommended to use uniform and square mesh for the PML elements.
86+
8. It is highly recommended to use uniform and square mesh for the PML elements
87+
9. If the user provides the alpha and beta parameters explicitly using the `-alphabeta` flag, the following formulas for calculating `alpha_0` and `beta_0` are skipped, and the user-defined parameters are used instead:
88+
89+
.. math::
90+
\begin{aligned}
91+
C_p &= \sqrt{\frac{E \cdot (1 - \nu)}{\rho \cdot (1 + \nu) \cdot (1 - 2 \cdot \nu)}} \\
92+
PML_b &= \frac{\text{PMLThickness}}{1.0} \\
93+
\alpha_0 &= \frac{(m_{\text{coeff}} + 1) \cdot PML_b}{2.0 \cdot PML_b} \cdot \log_{10}\left(\frac{1}{R}\right) \\
94+
\beta_0 &= \frac{(m_{\text{coeff}} + 1) \cdot C_p}{2.0 \cdot PML_b} \cdot \log_{10}\left(\frac{1}{R}\right)
95+
\end{aligned}
96+
97+
98+
.. admonition:: Example
99+
100+
The following example constructs a PML 3D element with tag **1** between nodes **1, 2, 3, 4, 5, 6, 7, 8** using material tag **1**, PML thickness **1.0**, and a box-type mesh with parameters **10.0, 10.0, 5.0 20 20 20**.
101+
102+
1. **Tcl Code**
103+
104+
.. code-block:: tcl
105+
106+
element PML 1 1 2 3 4 5 6 7 8 1 1.0 Box 10.0 10.0 5.0 20.0 20.0 20.0 -m 2 -R 1e-8 -Newmark 0.5 0.25 0.0833333333333333 0.0208333333333333
107+
108+
2. **Python Code**
109+
110+
.. code-block:: python
82111
112+
element('PML', 1, 1, 2, 3, 4, 5, 6, 7, 8, 1, 1.0, 'Box', 10.0, 10.0, 5.0, 20.0, 20.0, 20.0, '-m', 2, '-R', 1e-8, '-Newmark', 0.5, 0.25, 0.0833333333333333, 0.0208333333333333)
83113
84114
.. admonition:: Example
85115

86-
The following example constructs a PML3D element with tag **1** between nodes **1, 2, 3, 4, 5, 6, 7, 8** with the properties **E=1e6, nu=0.3, rho=1.0, EleType=1, Thickness=1.0, m=2, R=1e-8, RD_half_width_x=10.0, RD_half_width_y=10.0, Depth=5.0, alpha=0.0, beta=0.0**.
87-
88-
1. **Tcl Code**
116+
The following example constructs a PML 2D element with tag **2** between nodes **1, 2, 3, 4** using Young's modulus **3000**, Poisson's ratio **0.3**, density **2500**, element type **1**, thickness **1.0**, and PML parameters **2, 1e-8, 5.0, 10.0, 0.0, 0.0**.
89117

90-
.. code-block:: tcl
118+
1. **Tcl Code**
91119

92-
element PML 1 1 2 3 4 5 6 7 8 1 0.5 0.25 0.0833333333333333 1e6 0.3 1.0 1 1.0 2 1e-8 10.0 10.0 5.0 0.0 0.0
120+
.. code-block:: tcl
93121
94-
2. **Python Code**
122+
element PML 2 1 2 3 4 3000 0.3 2500 1 1.0 2 1e-8 5.0 10.0 0.0 0.0
95123
96-
.. code-block:: python
124+
2. **Python Code**
97125

98-
element('PML', 1, 1, 2, 3, 4, 5, 6, 7, 8, 1, 0.5, 0.25, 0.0833333333333333, 1e6, 0.3, 1.0, 1, 1.0, 2, 1e-8, 10.0, 10.0, 5.0, 0.0, 0.0)
126+
.. code-block:: python
99127
100-
Code Developed by: W. Zhang, E. Taciroglu, A. Pakzad, P. Arduino (UCLA, UW)
128+
element('PML', 2, 1, 2, 3, 4, 3000, 0.3, 2500, 1, 1.0, 2, 1e-8, 5.0, 10.0, 0.0, 0.0)

0 commit comments

Comments
 (0)