This repository has been archived by the owner on Mar 4, 2023. It is now read-only.
/
PressurePenetration.py
168 lines (144 loc) · 6.56 KB
/
PressurePenetration.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
from abaqusConstants import *
from .Interaction import Interaction
from ..Region.RegionArray import RegionArray
class PressurePenetration(Interaction):
"""The PressurePenetration object defines pressure penetration loading simulated with
surface-to-surface contact.
The PressurePenetration object is derived from the Interaction object.
Attributes
----------
name: str
A String specifying the repository key.
createStepName: str
A String specifying the name of the step in which the :py:class:`~abaqus.Interaction.PressurePenetration.PressurePenetration` object is
created.
contactInteraction: str
A String specifying the name of the Surface-to-surface contact (Standard) interaction.
masterPoints: RegionArray
A :py:class:`~abaqus.Region.RegionArray.RegionArray` object specifying the points on the master surface that are exposed to the
fluid.
slavePoints: RegionArray
A :py:class:`~abaqus.Region.RegionArray.RegionArray` object specifying the points on the slave surface that are exposed to
the fluid.
Notes
-----
This object can be accessed by:
.. code-block:: python
import interaction
mdb.models[name].interactions[name]
The corresponding analysis keywords are:
- PRESSURE PENETRATION
"""
# A String specifying the repository key.
name: str = ""
# A String specifying the name of the step in which the PressurePenetration object is
# created.
createStepName: str = ""
# A String specifying the name of the Surface-to-surface contact (Standard) interaction.
contactInteraction: str = ""
# A RegionArray object specifying the points on the main surface that are exposed to the
# fluid.
mainPoints: RegionArray = RegionArray()
# A RegionArray object specifying the points on the secondary surface that are exposed to
# the fluid.
secondaryPoints: RegionArray = RegionArray()
def __init__(
self,
name: str,
createStepName: str,
contactInteraction: str,
mainPoints: RegionArray,
secondaryPoints: RegionArray,
penetrationPressure: float,
criticalPressure: float,
amplitude: str = UNSET,
penetrationTime: float = 0,
):
"""This method creates a PressurePenetration object.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].PressurePenetration
Parameters
----------
name
A String specifying the repository key.
createStepName
A String specifying the name of the step in which the PressurePenetration object is
created.
contactInteraction
A String specifying the name of the Surface-to-surface contact (Standard) interaction.
mainPoints
A RegionArray object specifying the points on the main surface that are exposed to the
fluid.
secondaryPoints
A RegionArray object specifying the points on the secondary surface that are exposed to
the fluid.
penetrationPressure
A tuple of Floats specifying the fluid pressure magnitude. For steady state dynamic
analyses, a tuple of Complexes specifying the fluid pressure magnitude.
criticalPressure
A tuple of Floats specifying the critical contact pressure below which fluid penetration
starts to occur.
amplitude
A String or the SymbolicConstant UNSET specifying the name of the amplitude reference.
UNSET should be used if the load has no amplitude reference. The default value is UNSET.
You should provide the *amplitude* argument only if it is valid for the specified step.
penetrationTime
A Float specifying the fraction of the current step time over which the fluid pressure
on newly penetrated contact surface segments is ramped up to the current magnitude. The
default value is 0.001.
Returns
-------
A PressurePenetration object.
"""
super().__init__()
pass
def setValues(self, amplitude: str = UNSET, penetrationTime: float = 0):
"""This method modifies the data for an existing PressurePenetration object in the step
where it is created.
Parameters
----------
amplitude
A String or the SymbolicConstant UNSET specifying the name of the amplitude reference.
UNSET should be used if the load has no amplitude reference. The default value is UNSET.
You should provide the *amplitude* argument only if it is valid for the specified step.
penetrationTime
A Float specifying the fraction of the current step time over which the fluid pressure
on newly penetrated contact surface segments is ramped up to the current magnitude. The
default value is 0.001.
"""
pass
def setValuesInStep(
self,
stepName: str,
penetrationPressure: float = None,
criticalPressure: float = None,
amplitude: str = "",
penetrationTime: float = 0,
):
"""This method modifies the propagating data for an existing PressurePenetration object in
the specified step.
Parameters
----------
stepName
A String specifying the name of the step in which the interaction is modified.
penetrationPressure
A tuple of Floats specifying the fluid pressure magnitude. For steady state dynamic
analyses, a tuple of Complexes specifying the fluid pressure magnitude.
criticalPressure
A tuple of Floats specifying the critical contact pressure below which fluid penetration
starts to occur.
amplitude
A String or a SymbolicConstant specifying the name of the amplitude reference. Possible
values for the SymbolicConstant are UNCHANGED and FREED. UNCHANGED should be used if the
amplitude is propagated from the previous analysis step. FREED should be used if the
load is changed to have no amplitude reference. You should provide the *amplitude*
argument only if it is valid for the specified step.
penetrationTime
A Float specifying the fraction of the current step time over which the fluid pressure
on newly penetrated contact surface segments is ramped up to the current magnitude. The
default value is 0.001.
"""
pass