/
fe_constraints.py
768 lines (583 loc) · 30.2 KB
/
fe_constraints.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
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
# Copyright (C) 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.
class FeConstraints:
def d(
self,
node="",
lab="",
value="",
value2="",
nend="",
ninc="",
lab2="",
lab3="",
lab4="",
lab5="",
lab6="",
**kwargs,
):
"""Defines degree-of-freedom constraints at nodes.
APDL Command: D
Parameters
----------
node
Node at which constraint is to be specified. If ALL, NEND and NINC
are ignored and constraints are applied to all selected nodes
(NSEL). If Node = P, graphical picking is enabled and all remaining
command fields are ignored (valid only in the GUI). A component
name may also be substituted for Node.
lab
Valid degree-of-freedom label. If ALL, use all appropriate labels.
value
Degree-of-freedom value or table name reference for tabular
boundary conditions. To specify a table, enclose the table name in
percent (%) signs (for example, D,Node,TEMP,%tabname%). Use the
``*DIM`` command to define a table.
value2
Second degree-of-freedom value (if any). If the analysis type and
the degree of freedom allow a complex input, Value (above) is the
real component and VALUE2 is the imaginary component.
nend, ninc
Specifies the same values of constraint at the range of nodes from
Node to NEND (defaults to Node), in steps of NINC (defaults to 1).
lab2, lab3, lab4, lab5, lab6
Additional degree-of-freedom labels. The same values are applied to
the nodes for these labels.
Notes
-----
The available degrees of freedom per node are listed under "Degrees of
Freedom" in the input table for each element type in the Element
Reference. Degrees of freedom are defined in the nodal coordinate
system. The positive directions of structural translations and
rotations are along and about the positive nodal axes directions.
Structural rotations should be input in radians. The node and the
degree-of-freedom label must be selected (NSEL, DOFSEL).
In a structural analysis, you can apply only one displacement,
velocity, or acceleration load at any degree of freedom. If multiple
loads are specified, the last applied load overrides the previous ones.
For example, the following commands apply loads to node 100:
In this case, the velocity load (VELX) applied in the last command will
override the displacement load (UX).
For elements used in static and low frequency electromagnetic analysis
(SOLID236 and SOLID237), the AZ degree of freedom is not a z-component
of a vector potential, but rather the flux contribution on the element
edge. To specify a flux-parallel condition, set AZ = 0. For more
information, see 3-D Magnetostatics and Fundamentals of Edge-based
Analysis in the Low-Frequency Electromagnetic Analysis Guide.
In an explicit dynamic analysis, the D command can only be used to fix
nodes in the model. The degree-of-freedom value must be zero; no other
values are valid. Use the EDLOAD command to apply a nonzero
displacement in an explicit dynamic analysis.
For ELBOW290 cross-section degrees of freedom (Lab = SE, SO, SW, SRA,
SRT, or SECT), the D command can only specify fixed constraints. The
degree-of-freedom value must be zero; no other values are valid.
For hydrostatic fluid elements (HSFLD241 and HSFLD242), the HDSP
degree-of-freedom constraint at the pressure node prescribes the
pressure value for all the fluid elements sharing the pressure node.
Tabular boundary conditions (VALUE = %tabname%) are available only for
the following degree-of-freedom labels: Electric (VOLT), structural
(UX, UY, UZ, ROTX, ROTY, ROTZ, and velocity and acceleration loads
VELX, VELY, VELZ, OMGX, OMGY, OMGZ, ACCX, ACCY, ACCZ, DMGX, DMGY,
DMGZ), acoustic (PRES, UX, UY, UZ,), and temperature (TEMP, TBOT, TE2,
TE3, . . ., TTOP). All labels are valid only in static (ANTYPE,STATIC)
and full transient (ANTYPE,TRANS) analyses.
%_FIX% is an ANSYS reserved table name. When VALUE is set to %_FIX%,
ANSYS will prescribe the degree of freedom to the "current" relative
displacement value. This option is only valid for the following labels:
UX, UY, UZ, ROTX, ROTY, ROTZ. Alternatively, functions UX(), UY(), etc.
may be used (see ``*GET`` for a complete list of available functions). In
most cases, %_FIX% usage is efficient and recommended for all
structural degrees of freedom.
When Value = SUPPORT, specify only the minimum number of displacement
constraints necessary to prevent rigid body motion: three constraints
(or fewer, depending on the element type) for 2-D models and six (or
fewer) for 3-D models.
If constraints and initial conditions (IC) are applied at the same
node, the constraint specification overrides. This combination is
useful when a constraint degree-of-freedom value needs to start with a
nonzero value at time = 0.0. For example, if the constraint degree-of-
freedom value is prescribed to be a cosine function, then specifying an
initial condition for the same node and degree of freedom ensures that
the initial value for the constraint degree of freedom at time = 0.0 is
same as the cosine function evaluated at time = 0.0. If initial
conditions are not specified, the constraint degree-of-freedom value
ramps from zero in the first substep of the first loadstep.
If more than one rotational degrees of freedom are constrained with
non-zero rotations (ROTX, ROTY, ROTZ), rotational velocities (OMGX,
OMGY, OMGZ), or rotational accelerations (DMGX, DMGY, DMGZ), then the
rotation of the constrained node from its initial configuration to its
final configuration depends on the combination and the sequence in
which the constraints are applied. See Rotations in a Large-Deflection
Analysis in Structural Analysis Guide.
This command is also valid in PREP7.
"""
command = f"D,{node},{lab},{value},{value2},{nend},{ninc},{lab2},{lab3},{lab4},{lab5},{lab6}"
return self.run(command, **kwargs)
def dcum(self, oper="", rfact="", ifact="", tbase="", **kwargs):
"""Specifies that DOF constraint values are to be accumulated.
APDL Command: DCUM
Parameters
----------
oper
Accumulation key:
REPL - Subsequent values replace the previous values (default).
ADD - Subsequent values are added to the previous values.
IGNO - Subsequent values are ignored.
rfact
Scale factor for the real component. Zero (or blank) defaults to
1.0. Use a small number for a zero scale factor.
ifact
Scale factor for the imaginary component. Zero (or blank) defaults
to 1.0. Use a small number for a zero scale factor.
tbase
Base temperature for temperature difference. Used only with
temperature degree of freedom. Scale factor is applied to the
temperature difference (T-TBASE) and then added to TBASE. T is the
current temperature.
Notes
-----
Allows repeated degree of freedom constraint values (displacement,
temperature, etc.) to be replaced, added, or ignored. Operations
apply to the selected nodes [NSEL] and the selected degree of freedom
labels [DOFSEL]. This command also operates on velocity and
acceleration loads applied in a structural analysis.
The operations occur when the next degree of freedom constraints are
defined. For example, issuing the command D,1,UX,.025 after a previous
D,1,UX,.020 causes the new value of the displacement on node 1 in the
x-direction to be 0.045 with the add operation, 0.025 with the replace
operation, or 0.020 with the ignore operation. Scale factors are also
available to multiply the next value before the add or replace
operation. A scale factor of 2.0 with the previous "add" example
results in a displacement of 0.070. Scale factors are applied even if
no previous values exist. Issue DCUM,STAT to show the current label,
operation, and scale factors. Solid model boundary conditions are not
affected by this command, but boundary conditions on the FE model are
affected.
Note:: : FE boundary conditions may still be overwritten by existing
solid model boundary conditions if a subsequent boundary condition
transfer occurs.
DCUM does not work for tabular boundary conditions.
This command is also valid in PREP7.
"""
command = f"DCUM,{oper},{rfact},{ifact},{tbase}"
return self.run(command, **kwargs)
def ddele(self, node="", lab="", nend="", ninc="", rkey="", **kwargs):
"""Deletes degree-of-freedom constraints.
APDL Command: DDELE
Parameters
----------
node
Node for which constraint is to be deleted. If ALL, NEND and NINC
are ignored and constraints for all selected nodes [NSEL] are
deleted. If NODE = P, graphical picking is enabled and all
remaining command fields are ignored (valid only in the GUI). A
component name may also be substituted for NODE.
lab
Valid degree of freedom label. If ALL, use all selected labels
[DOFSEL]. Structural labels: UX, UY, or UZ (displacements); ROTX,
ROTY, or ROTZ (rotations); WARP (warping). Thermal labels: TEMP,
TBOT, TE2, TE3, . . ., TTOP (temperature). Acoustic labels: PRES
(pressure); UX, UY, or UZ (displacements for FSI coupled elements).
Electric label: VOLT (voltage). Magnetic labels: MAG (scalar
magnetic potential); AX, AY, or AZ (vector magnetic potentials).
Diffusion label: CONC (concentration).
nend, ninc
Delete constraints from NODE to NEND (defaults to NODE) in steps of
NINC (defaults to 1).
rkey
Ramping key:
OFF - Loads are step-removed (default).
ON or FORCE - Forces on the specified degrees of freedom (Lab) are ramped during the next
load step. The forces are ramped from the reaction
forces of the previous load step, regardless of
whether or not a constraint was present. If the
specified node(s) and degree(s) of freedom has a
force value currently defined, the force is ramped
from the reaction force value to the currently
applied force value. If no force is currently
applied, the force is ramped from the reaction force
value to zero.
Notes
-----
Deleting a constraint is not the same as setting it to zero (which
"fixes" the degree of freedom to a zero value). Deleting a constraint
has the same effect as deactivating, releasing, or setting the
constraint "free." The node and the degree of freedom label must be
selected [NSEL, DOFSEL].
This command is also valid in PREP7.
"""
command = f"DDELE,{node},{lab},{nend},{ninc},{rkey}"
return self.run(command, **kwargs)
def dflx(self, node="", bx="", by="", bz="", bx2="", by2="", bz2="", **kwargs):
"""Imposes a uniform magnetic flux B on an edge-element electromagnetic
APDL Command: DFLX
model.
Parameters
----------
node
Nodes at which the edge-flux (AZ) constraints corresponding to the
uniform magnetic flux are to be specified. Valid options are ALL
(default) or Component Name. If ALL, constraints are applied to all
selected nodes (NSEL).
bx, by, bz
Real components of magnetic flux B.
bx2, by2, bz2
Imaginary components of magnetic flux B.
Notes
-----
The DFLX command sets the constraints on the edge-flux (AZ) degrees of
freedom to produce a uniform magnetic flux B in an edge-based
electromagnetic analysis using elements SOLID236 and SOLID237. The
command ignores the corner nodes of the elements (even if they were
selected) and imposes the AZ-constraints on the mid-side nodes only.
The AZ-constraints are imposed in the active Cartesian coordinate
system. A non-Cartesian coordinate system will be ignored by the DFLX
command.
The edge-flux constraints at the mid-side nodes are derived from the
magnetic vector potential A, which is related to the imposed magnetic
flux B as follows:
where r is the position of the mid-side node.
The DFLX command creates a component named _DFLX for the constrained
midside nodes. You can use this component to delete the constraints
imposed by the DFLX command.
This command is also valid in PREP7.
"""
command = f"DFLX,{node},{bx},{by},{bz},{bx2},{by2},{bz2}"
return self.run(command, **kwargs)
def dj(self, elem="", label="", value="", **kwargs):
"""Specifies boundary conditions on the components of relative motion of a
APDL Command: DJ
joint element.
Parameters
----------
elem
Element number or ALL to be specified.
label
Valid labels are:
UX - Displacement in local x direction.
UY - Displacement in local y direction.
UZ - Displacement in local z direction.
ROTX - Rotation about local x axis.
ROTY - Rotation about local y axis.
ROTZ - Rotation about local y axis.
VELX - Linear velocity in local x direction.
VELY - Linear velocity in local y direction.
VELZ - Linear velocity in local z direction.
OMGX - Angular velocity in local x direction.
OMGY - Angular velocity in local y direction.
OMGZ - Angular velocity in local z direction.
ACCX - Linear acceleration in local x direction.
ACCY - Linear acceleration in local y direction.
ACCZ - Linear acceleration in local z direction.
DMGX - Angular acceleration in local x direction.
DMGY - Angular acceleration in local y direction.
DMGZ - Angular acceleration in local z direction.
value
Value of the label.
Notes
-----
This command is valid for MPC184 joint elements. See DJDELE for
information on deleting boundary conditions applied with the DJ
command.
You can apply only one displacement, velocity, or acceleration load at
any relative degree of freedom. If multiple loads are specified, the
last applied load overrides the previous ones. For example, the
following commands apply loads to element 100:
In this case, the velocity load (VELX) applied in the last command will
override the displacement load (UX).
Tabular boundary conditions (VALUE = %tabname%) can be used.
%_FIX% is an ANSYS reserved table name. When VALUE is set to %_FIX%,
ANSYS will prescribe the degree of freedom to the "current" relative
displacement value. This option is only valid for the following labels:
UX, UY, UZ, ROTX, ROTY, ROTZ. In most cases, %_FIX% usage is efficient
and recommended for all structural degrees of freedom.
"""
command = f"DJ,{elem},{label},{value}"
return self.run(command, **kwargs)
def djdele(self, elem="", lab="", **kwargs):
"""Deletes boundary conditions on the components of relative motion of a
APDL Command: DJDELE
joint element.
Parameters
----------
elem
Element number or ALL. ALL (or leaving this field blank) will
delete all joint element boundary conditions specified by LAB.
lab
Valid labels are:
UX - Displacement in local x direction.
UY - Displacement in local y direction.
UZ - Displacement in local z direction.
ROTX - Rotation about local x axis.
ROTY - Rotation about local y axis.
ROTZ - Rotation about local z axis.
VELX - Linear velocity in local x direction.
VELY - Linear velocity in local y direction.
VELZ - Linear velocity in local z direction.
OMGX - Angular velocity in local x direction.
OMGY - Angular velocity in local y direction.
OMGZ - Angular velocity in local z direction.
ACCX - Linear acceleration in local x direction.
ACCY - Linear acceleration in local y direction.
ACCZ - Linear acceleration in local z direction.
DMGX - Angular acceleration in local x direction.
DMGY - Angular acceleration in local y direction.
DMGZ - Angular acceleration in local z direction.
ALL, or (blank) - Delete all applied boundary conditions.
Notes
-----
This command is valid for MPC184 joint elements. See DJ for information
on specifying boundary conditions on the components of relative motion
of a joint element.
"""
command = f"DJDELE,{elem},{lab}"
return self.run(command, **kwargs)
def djlist(self, elem="", **kwargs):
"""Lists boundary conditions applied to joint elements.
APDL Command: DJLIST
Parameters
----------
elem
Element number or ALL (or blank). Lists joint element boundary
conditions on the specified element(s).
Notes
-----
This command is valid for MPC184 joint elements. See DJ for information
on specifying boundary conditions on joint elements.
"""
command = f"DJLIST,{elem}"
return self.run(command, **kwargs)
def dlist(self, node1="", node2="", ninc="", **kwargs):
"""Lists DOF constraints.
APDL Command: DLIST
Parameters
----------
node1, node2, ninc
List constraints for nodes NODE1 to NODE2 (defaults to NODE1) in
steps of NINC (defaults to 1). If ALL (default), NODE2 and NINC
are ignored and constraints for all selected nodes [NSEL] are
listed. If NODE1 = P, graphical picking is enabled and all
remaining command fields are ignored (valid only in the GUI). A
component name may also be substituted for NODE1(NODE2 and NINC are
ignored).
Notes
-----
Listing applies to the selected nodes [NSEL] and the selected degree of
freedom labels [DOFSEL].
This command is valid in any processor.
"""
command = f"DLIST,{node1},{node2},{ninc}"
return self.run(command, **kwargs)
def dscale(self, rfact="", ifact="", tbase="", **kwargs):
"""Scales DOF constraint values.
APDL Command: DSCALE
Parameters
----------
rfact
Scale factor for the real component. Zero (or blank) defaults to
1.0. Use a small number for a zero scale factor.
ifact
Scale factor for the imaginary component. Zero (or blank) defaults
to 1.0. Use a small number for a zero scale factor.
tbase
Base temperature for temperature difference. For temperatures, the
scale factor is applied to the temperature difference (T-TBASE) and
then added to TBASE. T is the current temperature.
Notes
-----
Scales degree of freedom constraint values (displacement, temperature,
etc.) in the database. If velocity and acceleration boundary
conditions are applied in a structural analysis, they are also scaled
by this command. Solid model boundary conditions are not scaled by this
command, but boundary conditions on the FE model are scaled.
Note:: : Such scaled FE boundary conditions may still be overwritten by
unscaled solid model boundary conditions if a subsequent boundary
condition transfer occurs.
Scaling applies to the previously defined values for the selected nodes
[NSEL] and the selected degree of freedom labels [DOFSEL]. Issue DLIST
command to review results.
DSCALE does not work for tabular boundary conditions.
This command is also valid in PREP7.
"""
command = f"DSCALE,{rfact},{ifact},{tbase}"
return self.run(command, **kwargs)
def dsym(self, lab="", normal="", kcn="", **kwargs):
"""Specifies symmetry or antisymmetry degree-of-freedom constraints on
APDL Command: DSYM
nodes.
Parameters
----------
lab
Symmetry label:
SYMM - Generate symmetry constraints as described below (default).
ASYM - Generate antisymmetry constraints as described below.
normal
Surface orientation label to determine the constraint set (surface
is assumed to be perpendicular to this coordinate direction in
coordinate system KCN):
X - Surface is normal to coordinate X direction (default). Interpreted as R
direction for non-Cartesian coordinate systems.
Y - Surface is normal to coordinate Y direction. θ direction for non-Cartesian
coordinate systems.
Z - Surface is normal to coordinate Z direction. Φ direction for spherical or
toroidal coordinate systems.
kcn
Reference number of global or local coordinate system used to
define surface orientation.
Notes
-----
Specifies symmetry or antisymmetry degree-of-freedom constraints on the
selected nodes. The nodes are first automatically rotated (any
previously defined rotations on these nodes are redefined) into
coordinate system KCN, then zero-valued constraints are generated, as
described below, on the selected degree-of-freedom set (limited to
displacement, velocity, and magnetic degrees of freedom) [DOFSEL].
Constraints are defined in the (rotated) nodal coordinate system, as
usual. See the D and NROTAT commands for additional details about
constraints and nodal rotations.
This command is also valid in PREP7.
Symmetry or antisymmetry constraint generations are based upon the
valid degrees of freedom in the model, i.e., the degrees of freedom
associated with the elements attached to the nodes. The labels for
degrees of freedom used in the generation depend on the Normal label.
For displacement degrees of freedom, the constraints generated are:
For velocity degrees of freedom, the constraints generated are:
For magnetic degrees of freedom, the SYMM label generates flux normal
conditions (flux flows normal to the surface). Where no constraints
are generated, the flux normal condition is "naturally" satisfied. The
ASYM label generates flux parallel conditions (flux flows parallel to
the surface).
"""
command = f"DSYM,{lab},{normal},{kcn}"
return self.run(command, **kwargs)
def dval(self, baseid="", lab="", value="", value2="", keycal="", **kwargs):
"""Defines values at enforced motion base.
APDL Command: DVAL
Parameters
----------
baseid
The identification number of the enforced motion base (defined
using the D command in the modal analysis).
lab
U
U - Enforced displacement.
ACC - Enforced acceleration.
value
The value or table name reference for tabular boundary conditions.
To specify a table, enclose the table name in percent (%) signs
(DVAL,BaseID,U,%tablename%). Use the ``*DIM`` command to define a
table.
value2
The value of the second degree of freedom (if present). If the
analysis type and the degree of freedom allow a complex input,
VALUE is the real component and VALUE2 is the imaginary component.
keycal
Displacement result calculation key:
ON - Calculate absolute displacement and acceleration results (default).
OFF - Calculate relative displacement and acceleration results.
Notes
-----
In a mode-superposition harmonic or transient analysis, you can apply
enforced displacement or acceleration loads. If multiple loads are
specified for the same base identification number (BaseID), the last
load applied overrides the previous ones. For example, the following
commands apply displacement to the base with identification number 1:
In this case, the acceleration (ACC) applied in the last command will
override the displacement (U).
Issue LSCLEAR,LSOPT to delete DVAL command options from the database.
For more information, see Enforced Motion Method for Mode-Superposition
Transient and Harmonic Analyses in the Structural Analysis Guide and
Enforced Motion Method for Transient and Harmonic Analyses in the
Mechanical APDL Theory Reference.
"""
command = f"DVAL,{baseid},{lab},{value},{value2},{keycal}"
return self.run(command, **kwargs)
def gsbdata(
self,
labz="",
valuez="",
labx="",
valuex="",
laby="",
valuey="",
**kwargs,
):
"""Specifies the constraints or applies the load at the ending point for
APDL Command: GSBDATA
generalized plane strain option.
Parameters
----------
labz
Constraint or load at the ending point in the fiber Z direction.
F - Apply a force in the fiber direction (default).
LFIBER - Define a length change in the fiber direction.
valuez
Value for LabZ. The default is zero.
labx
Constraint or load on rotation about X.
MX - Supply a moment to cause the rotation of the ending plane about X (default).
ROTX - Define a rotation angle (in radians) of the ending plane about X.
valuex
Value for LabX. The default is zero.
laby
Constraint or load on rotation about Y
MY - Supply a moment to cause the rotation of the ending plane about Y (default).
ROTY - Define a rotation angle (in radians) of the ending plane about Y.
valuey
Value for LabY. The default is zero.
Notes
-----
All inputs are in the global Cartesian coordinate system. For more
information about the generalized plane strain feature, see Generalized
Plane Strain Option of Current-Technology Solid Elements in the Element
Reference.
This command is also valid in PREP7.
"""
command = f"GSBDATA,{labz},{valuez},{labx},{valuex},{laby},{valuey}"
return self.run(command, **kwargs)
def gslist(self, lab="", **kwargs):
"""When using generalized plane strain, lists the input data or solutions.
APDL Command: GSLIST
Parameters
----------
lab
Specify the content to be listed.
GEOMETRY - List the data input using GSGDATA
BC - List the data input using GSBDATA.
REACTIONS - When the command is issued in POST1, list the reaction force at the ending
point,
and the moment about X and Y if the corresponding constraints were applied. - RESULTS
When the command is issued in POST1, list the change of fiber length at the ending point during deformation and the rotation of the ending plane about X and Y during deformation. - ALL
Notes
-----
This command can be used to list the initial position of the ending
plane, the applied load or displacements in the fiber direction, the
resulting position of the ending plane after deformation, and the
available reaction forces and moments at the ending point.
All inputs and outputs are in the global Cartesian coordinate system.
For more information about the generalized plane strain feature, see
Generalized Plane Strain Option of Current-Technology Solid Elements in
the Element Reference.
This command is valid in any processor.
"""
command = f"GSLIST,{lab}"
return self.run(command, **kwargs)